__autoload()方法确实好用,前提是如果有继承关系,继承类和被继承类要在同一个目录下
不多说了,看代码:
首先定义两个类ClassA和ClassB,文件名分别为ClassA.php和ClassB.php,ClassB继承ClassA
class ClassA{
public function __construct(){
echo "ClassA load success!";
}
}
class ClassB extends ClassA {
public function __construct(){
//parent::__construct();
echo "ClassB load success!";
}
}
定义两个测试用的类之后,我们来编写一个含有__autoload()方法的PHP运行程序文件如下:
function __autoload($classname){
$classpath="./".$classname.'.php';
if(file_exists($classpath)){
require_once($classpath);
}
else{
echo 'class file'.$classpath.'not found!';
}
}
$newobj = new ClassA();
$newobj = new ClassB();
运行结果:ClassA load success!ClassB load success!