好久沒寫東西陵霉,人懶了,為了對抗懶惰的基因析孽,每周都寫一些東西吧搭伤。
現(xiàn)在介紹 php 的 __autoload和namespace的用法。我是用了自動(dòng)加載的袜瞬。
官網(wǎng)的介紹是 __autoload — 嘗試加載未定義的類http://php.net/manual/zh/function.autoload.php
namespace 的官網(wǎng)介紹
http://php.net/manual-lookup.php?pattern=namespace&scope=quickref
以前:
<?php
class a{
function haha(){
echo 'haha';
}
}
上面code/a.php
<?php
require('code/a.php');
$classA = new a();
$classA->haha();
上面index.php
這樣意思如果有一大推類加載怜俐。是不是變成這樣
require('code/a.php');
require('code/b.php');
require('code/c.php');
require('code/d.php');
require('code/e.php');
.......
總之這樣不是辦法。
然后就用上了__autoload 和 namespace
<?php
namespace code;
class a{
function haha(){
echo 'haha';
}
}
<?php
use code\a;
function __autoload($className){
$className = str_replace('\\', '/', $className);
require($className . '.php');
}
$classA = new a();
$classA->haha();
額~很多框架里面都是這樣寫的邓尤。
之后
namespace code\xxx;
use code\xxx\a;
然后拍鲤,寫多幾次就會(huì)了。