Zend_Loader_Autoloader与Zend_Application_Module_Autoloader

时间:2010-11-17 14:00:30

标签: php class zend-framework

这三个班级有什么不同?他们似乎都有类似的功能。有人可以清楚地向我解释这个,Zend_Application会自动使用哪些?

Zend_Application_Module_Autoloader
Zend_Loader_Autoloader_Resource
Zend_Loader_Autoloader

1 个答案:

答案 0 :(得分:2)

公然复制参考指南。请指出您理解其概念的任何麻烦,以便我们提供其他解释。

Zend_Loader_Autoloader

  

Zend_Loader_Autoloader为Zend Framework引入了全面的自动加载解决方案。它的设计考虑了几个目标:

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

Zend_Loader_Autoloader_Resource

  

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

     

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

Zend_Application_Module_Autoloader

  

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