在php5中的spl_autoload方法相当于实现自己的__autoload
<?php function __autoload($classname){ if(is_file($classname.‘.php‘){ include $classname.‘.php‘; } elseif(is_file($classname.‘.inc‘){ include $classname.‘.inc‘; } }
它会在注册目录下自动寻找与$classname同名的.php/.inc文件。当然,你也可以指定特定的文件,方法是注册扩展名
<?php
spl_autoload_extensions(‘.php,.inc,.some‘);
那么怎样自动加载spl_autoload呢,方法是
<?php
spl_autoload_register();
spl_autoload_register有一个$callback参数,如果不指定,它就会自动注册spl_autoload,为了能搜寻更多的自动加载目录,可以在这些代码前面设置自动加载目录
<?php set_include_path(get_include_path() . PATH_SEPARATOR . ‘some/path‘ . DIRECTORY_SEPARATOR);
这些方法常用在php框架中。