有时候需要在一个php脚本中实例化多个类,无需手动包含多个类文件,php魔法函数__autoload会自动帮你加载各个类文件
有一个test.php文件,代码为:
class test{
public function __construct(){
echo "class test load success";
}
}
在同级文件目录下,新建test1.php,代码为:
function __autoload($name){
$classpath = "./".$name.".php";
if(file_exists($classpath)){
require_once($classpath);
}else{
echo "class file ".$classpath." is not found";
}
}
$test =new test();
浏览器运行test1.php,例如http://localhost/test1.php,程序即可正常工作。
注意点:
1、命令模式下运行php脚本,此函数不会生效;
2、类名和类的文件名最好一致;
3、如果类存在继承关系(例如:ClassB extends ClassA),则文件ClassA.php和ClassB.php必须处在同一目录下,不然会报错。