PHP SPL函数库(系列篇)

2022-03-25 20:32:05 浏览数 (2)

代码语言:javascript复制
<?php
header('Content-Type:text/html;charset=utf-8');
function classLoad1($className){
	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);即可

结构:

0 人点赞