这篇文章将为大家详细讲解有关PHP中spl_autoload_register()与__autoload()有什么区别,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
代码如下:
//__autoload用法
__autoload函数($ classname)
{
,,,$ filename=啊?类/案删蛔约旱摹? classname .class.php"
,,,如果(is_file(文件名)美元)
,,,{
,,,,,,,包括美元文件名;
,,,}
}
//spl_autoload_register用法
spl_autoload_register (& # 39; load_class& # 39;);
函数load_class ($ classname)
{
,,,$ filename=啊?类/案删蛔约旱摹? classname .class.php"
,,,如果(is_file(文件名)美元)
,,,{
,,,,,,,包括美元文件名;
,,,}
}
使用spl_autoload_register()的好处是不可言喻的:
(1)自动加载对象更加方便,很多框架都是这样做的:
代码如下:
类ClassAutoloader {
,,,公共函数__construct () {
,,,,,,,spl_autoload_register(数组($ this & # 39;装载机# 39;));
,,,}
,,,私有函数加载程序($ className) {
,,,,,,,回声& # 39;试图加载& # 39;$ className, & # 39;通过& # 39;、__METHOD__“() \ n"
,,,,,,,包括$ className。& # 39;。php # 39;;
,,,}
}
自动装卸机=new ClassAutoloader美元();
obj美元=new Class1 ();
obj美元=new Class2 ();
(2)你要知道__autoload()函数只能存在一次啊,spl_autoload_register()当然能注册多个函数
代码如下:
函数(){
,,,包括& # 39;a.php& # 39;;
}
函数b () {
,,,包括& # 39;b.php& # 39;;
}
spl_autoload_register(& # 39;一个# 39;);
spl_autoload_register (& # 39; b # 39;);
(3) SPL函数很丰富,提供了更多功能,如spl_autoload_unregister()注销已经注册的函数,spl_autoload_functions()返回所有已经注册的函数等。
关于PHP中spl_autoload_register()与__autoload()有什么区别就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。