Zend_Application_Module_Autoloader和Zend_Loader_Autoloader_Resource有什么区别?

时间:2010-01-28 04:57:57

标签: zend-framework zend-loader

我注意到同样的情况发生在:

$moduleLoader = new Zend_Application_Module_Autoloader(array(
        'namespace' => '', 
        'basePath'  => APPLICATION_PATH));
$moduleLoader->addResourceType('acl','acls/','Acl');

$resourceLoader = new Zend_Loader_Autoloader_Resource(array(
'basePath'  => APPLICATION_PATH,
'namespace' => '',
));
$resourceLoader->addResourceType('acl', 'acls', 'Acl')

事实上,有什么区别?

2 个答案:

答案 0 :(得分:3)

这可能会让你开始。我仍在寻找更好的差异。

  

Zend_Application_Module_Autoloader提供将模块下的各种资源映射到适当目录所需的功能,并提供标准命名机制。

     

Zend_Loader_Autoloader_Resource旨在简化加载没有1:1类前缀/文件系统映射的资源。主要用例是与模块化应用程序一起使用,以允许自动加载特定于模块的类。

看看this page。它可能会给你一些见解。


从我所看到的,Zend_Application_Module_Autoloader基本上是具有预定义映射的资源,为您提供了一个目录结构。

答案 1 :(得分:3)

模块自动加载器是一种特定于模块的自动加载器资源,它将模块名称作为命名空间的一部分应用,并自动设置Zend约定所需的默认资源类型。