代码之家  ›  专栏  ›  技术社区  ›  d-_-b

Zend_加载程序自动加载程序与Zend_应用程序模块自动加载程序

  •  0
  • d-_-b  · 技术社区  · 15 年前

    这三个班有什么不同?它们似乎都有类似的功能。有人能给我解释清楚吗?哪些是Zend_应用程序自动使用的?

    Zend_Application_Module_Autoloader
    Zend_Loader_Autoloader_Resource
    Zend_Loader_Autoloader
    
    1 回复  |  直到 15 年前
        1
  •  2
  •   Gordon Haim Evgi    15 年前

    公然抄袭参考指南。请指出您在理解他们的概念时遇到的任何困难,以便我们提供额外的解释。

    Zend_Loader_Autoloader

    Zend_Loader_Autoloader为Zend框架引入了一个全面的自动加载解决方案。它的设计有几个目标:

    • 提供真正的命名空间自动加载程序。(以前的版本截取了所有userland名称空间。)
    • 允许将任意回调注册为自动加载程序,并将其作为堆栈进行管理。(在编写本文时,这克服了spl_autoload的一些问题,后者不允许重新注册使用实例方法的回调。)
    • 允许命名空间的乐观匹配以提供更快的类解析。

    Zend_Loader_Autoloader_Resource

    资源自动加载程序旨在管理命名空间库代码,这些代码遵循Zend Framework编码标准准则,但在类名和目录结构之间没有1:1的映射。它们的主要目的是帮助自动加载应用程序资源代码,例如特定于应用程序的模型、表单和acl。

    资源自动加载程序在实例化时与自动加载程序注册,并与它们关联的命名空间一起注册。这使您可以轻松地在特定目录中命名空间代码,并且仍然可以获得自动加载的好处。

    Zend_Application_Module_Autoloader

    Zend Framework附带了Zend_Loader_Autoloader_Resource的具体实现,其中包含资源类型映射,这些映射涵盖了Zend Framework MVC应用程序的默认推荐目录结构。