__autoload 和sp_autoload_register

一般框架中是肯定会有自动加载类的的机制的,才能__autoload()和sp_autoload_register()的区别在哪里呢?

官网解释:spl_autoload_register — 注册给定的函数作为 __autoload 的实现,其实就是可以有多个__autoload函数 ,通过 一个队列来存储它们。

boolspl_autoload_register ( [callable]$autoload_function [, bool $throw =true [,bool $prepend = false ]]] )

autoload_function

欲注册的自动装载函数。如果没有提供任何参数,则自动注册 autoload 的默认实现函数spl_autoload()

throw

此参数设置了 autoload_function
无法成功注册时, spl_autoload_register()是否抛出异常。

prepend

如果是 true,spl_autoload_register() 会添加函数到队列之首,而不是队列尾部。

有了这个函数,在框架中引入一些第三方类时,如果对方也用相应的__autoload函数时,可以解决相应的冲突

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容