var_dump($className); $classPath='lib1/'.$className.'.class.php'; if(file_exists($classPath)){ require_once $classPath; } } function classLoad2($className){ var_dump($className); $classPath='lib2/'.$className.'.class.php'; if(file_exists($classPath)){ require_once $classPath; } } spl_autoload_register('classLoad1'); spl_autoload_register('classLoad2'); new Huskies();解析:
首先new Huskies();实例,然后spl_autoload_register('classLoad1');相当于是spl_autoload_register('classLoad1(new Huskies())');然后找
这个函数没有发现Huskies.class.php,所以得找spl_autoload_register('classLoad2');然后找到了,就输出,然后最重要的一点是发现队列里面还有dog函数,因为执行过程中发现Huskies是dog的子类,所以在执行
输出即可.
另外如果想把某个放在开头的话,就得spl_autoload_register('classLoad2',true,true);即可
结构: