手机版

PHP中spl_autoload_register()和_ _自动加载()区别分析

时间:2021-11-08 来源:互联网 编辑:宝哥软件园 浏览:

关于spl_autoload_register()和_ _自动加载(),相信大多数都会选择前者了?看两者的用法:复制代码代码如下:/_ _自动加载用法函数_ _ autoload($类名){ $ filename=' ./class/' .$classname .上课。PHP ';if(is _ file($ filename)){ 0包含$文件名;}}//spl_autoload_register用法spl _ autoload _ register(' load _ class ');函数load _ class($类名){ $ filename=' ./class/' .$classname .上课。PHP ';if(is _ file($ filename)){ 0包含$文件名;}}使用spl_autoload_register()的好处是不可言喻的:(1)自动加载对象更加方便,很多框架都是这样做的:复制代码代码如下: class class autoloader { public function _ _ construct(){ spl _ autoload _ register(array($ this,' loader '));}私有函数加载器($className){ echo ' Trying load ',$className,' via ',__METHOD__,'()\ n ';包括$ class name . PHP ';} } $ auto loader=new class auto loader();$ obj=新的类1();$ obj=新类2();(2)你要知道_ _自动加载()函数只能存在一次啊,spl_autoload_register()当然能注册多个函数复制代码代码如下:函数a(){包含' a . PHP ';}函数b(){ 0包含' b . PHP ';} spl _ autoload _ register(' a ');spl _ autoload _ register(' b ');(3)SPL函数很丰富,提供了更多功能,如spl_autoload_unregister()注销已经注册的函数、spl_autoload_functions()返回所有已经注册的函数等

详见服务器端编程语言(专业超文本预处理器的缩写)参考手册:关于声压级函数列表。注意:如果在你的程序中已经实现了_ _自动加载函数,它必须显式注册到_ _自动加载栈中。因为spl_autoload_register()函数会将阿维斯陀经注解发动机中的_ _自动加载函数取代为spl _自动加载()或spl_autoload_call()复制代码代码如下:/* * * _ _自动加载方法在spl _自动加载_寄存器后会失效,因为自动加载功能函数指针已指向spl _自动加载方法* 可以通过下面的方法来把_自动加载方法加入auto load _ functions list */spl _ auto load _ register(“_ _ auto load”);

版权声明:PHP中spl_autoload_register()和_ _自动加载()区别分析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。