php自动加载的n种方法
spl_autoload_register
spl_autoload_extensions('.class.php'); //加载的后缀,也可以定义多个后缀,使用,号分隔,‘.class.php,php’
set_include_path(get_include_ath().PATH_SEPAPATOR.'libs/'); // 使用autoload的搜索目录,多个目录使用PATH_SEPAPATOR分隔
spl_autoload_register();
new Test();
spl_autoload_register(function(){}) //替换__autoload
//使用set_include_path代替require_once
function loader($class_name){
echo 'load'.$class_nam.PHP_EOL;
set_include_path('libs/');
spl_autoload($class_name); //在目录中找类文件,自动寻找,使用系统的include——path来装再累,必须调用 spl_autoload ,参数是类名称,来重启类文件和自动查找(装载) 使用require时需要些文件的路径,这只写类名
}
spl_autoload_register('loader');
new Test();
spl_autoload_register和__autoload共存时,apl优先级较高
网友评论