注:spl,指SPL - Standard PHP Library 标准PHP类库
1.spl_autoload_register
spl_autoload_register-----注册__autoload()函数
说明:
bool spl_autoload_register([callback $autoload_funciton])
将函数注册到SPL __autoload函数栈中。如果该栈中的函数尚未激活,则激活它们。
如果在你的程序中已经实现了__autoload函数,它必须显示注册到__autoload栈中。因为spl_autoload_register()函数将ZendEngine中的__autoload函数取代为spl_autoload()或者spl_autoload_call()。
参数:
autoload_function---欲注册的自动装载函数。如果没有提供任何参数,则自动注册autoload的默认实现函数spl_autoload()。
返回值:
成功时返回TRUE,失败时返回FALSE。
例子:
function class_autoload($class) { $PATH = dirname(__FILE__) . '/model/' . $class . '.php'; if(is_file($PATH)) { require_once($PATH); return true; } return false; } spl_autoload_register('class_autoload');
当在文件中初始化不明确的类时,系统将自动调用class_autoload($class)函数去加载指定的类所在的文件(如果存在的话)。
2.spl_autoload
(PHP5>=5.1.2)
spl_autoload --------__autoload()函数的默认实现。
说明:
void spl_autoload(string $class_name, [, string $file_extensions])
本函数提供了__autoload()的一个默认实现。如果不使用任何参数调用autoload_register()函数,则以后在进行__autoload()调用时会自动使用此函数,而不是声明的__autoload()函数。
参数:
class_name-----类名
file_extensions---文件扩展名
在默认情况下,本函数先将类名转换成小写,再在小写的类名后加上.inc或者.php的扩展名作为文件名,然后再所有的包含路径(include_path)中检查是否存在该文件。
返回值:无返回值。
3.spl_autoload_extensions
(PHP5>=5.1.2)
spl_autoload_extensions-----注册并返回spl_autoload函数使用的文件扩展名。
说明:
string spl_autoload_extensions([string $file_extensions])
本函数用来修改和检查__autoload()函数内置的默认实现函数spl_autoload()所使用的扩展名。
参数:
file_extensions----当不使用任何参数调用此函数时,它返回当前的文件扩展名的列表,不同的扩展名用逗号分隔。要修改文件扩展名列表,用一个逗号分隔的新的扩展名列表字符串来调用本函数即可。
注:默认的spl_autoload函数使用的扩展名是".inc,.php"。
返回值----逗号分隔的的spl_autoload函数的文件扩展名。
例子:
echo spl_autoload_extensions(); echo spl_autoload_extensions(".php");
输出:第一个echo语句输出".inc,.php";
第二个echo语句输出".php"。