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

Php Zend_加载器自动加载器与Zend_应用程序模块自动加载器,php,class,zend-framework,Php,Class,Zend Framework,这三门课有什么不同?它们似乎都有相似的功能。有人能给我解释清楚吗?Zend_应用程序会自动使用哪些 Zend_Application_Module_Autoloader Zend_Loader_Autoloader_Resource Zend_Loader_Autoloader 明目张胆地从参考指南中抄袭过来。请指出您在理解其概念时遇到的任何问题,以便我们提供补充说明 Zend_Loader_Autoloader为Zend Framework引入了一个全面的自动加载解决方案。它的设计考虑了几

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

Zend_Application_Module_Autoloader
Zend_Loader_Autoloader_Resource
Zend_Loader_Autoloader

明目张胆地从参考指南中抄袭过来。请指出您在理解其概念时遇到的任何问题,以便我们提供补充说明

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

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

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

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

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


你读过他们各自的描述了吗?你能更准确地指出你对他们不清楚的地方吗?是的,我说了。所有特定于Zend的术语都有点难以跟上。好吧,Zend_Application_Module_Autoloader用于加载应用程序的类。Zend_Loader_Autoloader用于加载Zend框架类。对的还有其他类似的类吗?@sims No.Module在ZF模块中加载内容。您可以将应用程序的相关部分分组到应用程序文件夹中的模块中,此自动加载程序将加载它们。资源自动加载程序加载所有与My_Zend_Class_Name的常规ZF命名约定不匹配的东西到My/Zend/Class/Name.php,Zend_自动加载程序是通用自动加载程序。那么Zend_自动加载程序负责加载标准ZF类?如果我遵循路径下划线(My_Zend_Class_Name to My/Zend/Class)约定,那么我就不必使用任何特殊的东西了?可能只是(includePaths.library=APPLICATION_PATH”/../library)在my.ini中?@sims差不多了。您必须告诉它加载“我的”,即使是在遵循约定的情况下。看啊,是的,好酷。谢谢你!我觉得越来越清楚了。我也会读更多。