__autoload 和sp_autoload_register

作者: hopevow | 来源:发表于2016-10-20 09:37 被阅读27次

    一般框架中是肯定会有自动加载类的的机制的,才能__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函数时,可以解决相应的冲突

    相关文章

      网友评论

        本文标题:__autoload 和sp_autoload_register

        本文链接:https://www.haomeiwen.com/subject/hprfuttx.html