我们可以通过编写__autoload函数来让php自动加载类,而不必写一个长长的包含文件列表。
function __autoload($class) { $file = $class . '.php'; if (file_exists($file)) { require_once($file); } } $a = new A();
我们可以根据自己的需要定义__autoload加载类的规则。假如我们不想自动加载的时候调用__autoload,而是调用我们自己的函数(或者类方法),
我们可以使用spl_autoload_register来注册我们自己的autoload函数。它的函数原型如下:
bool spl_autoload_register ( [callback $autoload_function] )
我们继续改写上面那个例子:
function loader($class) { $file = $class . '.php'; if (file_exists($file)) { require_once($file); } } spl_autoload_register('loader'); $a = new A();
也可以调用类中的方法
class Loader { public static function loadClass($class) { $file = $class . '.php'; if (file_exists($file)) { require_once($file); } } } spl_autoload_register(array('Loader', 'loadClass')); $a = new A();