好久没写东西,人懒了,为了对抗懒惰的基因,每周都写一些东西吧。
现在介绍 php 的 __autoload和namespace的用法。我是用了自动加载的。
官网的介绍是 __autoload — 尝试加载未定义的类http://php.net/manual/zh/function.autoload.php
namespace 的官网介绍
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;
然后,写多几次就会了。