首页 > php命名空间与类的自动载入关系

在php中,命名空间的作用主要用于调取指定的类,如一个项目下面有两个同样的  class  A但是归属不同的文件夹,这个时候可以用  namespace  和use  来调取指定的类,如果没有使用自动加载类文件的时候,还必须引入这个文件。

自动加载类最开始主要用到的是__autoload方法,这是一个魔术方法,可以在new一个类的时候,自动去require一个文件。使用方法如下

function __autoload($class)
{
$file = $class . '.php';
if (is_file($file)) {
require_once($file);
}
}

$a = new A();

里面可以根据一些固定规则去寻找不同文件夹下的文件,调用不同的类

后面又出现了一个spl_autoload_register用来注册  __autoload方法,也就是可以不用定义__autoload方法,而用其他方法去引入一个其他的方法,或者类去注册,引入这些文件。同时__autoload只能注册一次,而spl_autoload_register可以注册多次。用于多次的自动引入类文件机制