Php Zend Framework 1.12-无法加载模块';s模型
我有Zend Framework 1.12应用程序和几个模块。到目前为止,一切进展顺利。但我想将映射器添加到我的应用程序中,Zend Framework找不到映射器类 项目结构:Php Zend Framework 1.12-无法加载模块';s模型,php,zend-framework,zend-autoloader,Php,Zend Framework,Zend Autoloader,我有Zend Framework 1.12应用程序和几个模块。到目前为止,一切进展顺利。但我想将映射器添加到我的应用程序中,Zend Framework找不到映射器类 项目结构: -application -modules -api -otms -models -Mapper FormToOnix2.php -FeedFile.php 映射程序文件如下所示: class Otms_Model_Ma
-application
-modules
-api
-otms
-models
-Mapper
FormToOnix2.php
-FeedFile.php
映射程序文件如下所示:
class Otms_Model_Mapper_FormToOnix2
{
...
}
在application.ini中,我添加了用于自动加载的“Otms”前缀:
autoloaderNamespaces.otms[] = "Otms_"
但当我尝试从控制器创建映射器对象时
$test = new Otms_Model_Mapper_FormToOnix2();
我收到以下错误消息
include_once(Otms/Model/Mapper/FormToOnix2.php): failed to open stream: No such file or directory in <b>/cloudware/library/Zend/Loader.php</b> on line 146
一切正常。如何解决映射器加载的问题?好的,我读了有关自动加载程序和模块资源加载程序的内容。所以
Zend Framework ships with a concrete implementation of Zend_Loader_Autoloader_Resource
that contains resource type mappings that cover the default recommended
the directory structure for Zend Framework MVC applications.
该映射方案如下所示:
forms/ => Form
models/ => Model
DbTable/ => Model_DbTable
mappers/ => Model_Mapper
plugins/ => Plugin
services/ => Service
views/
helpers => View_Helper
filters => View_Filter
因此,如果你想添加一个带有映射器的目录,你应该把它命名为“映射器”而不是“映射器”。这解决了我的问题
forms/ => Form
models/ => Model
DbTable/ => Model_DbTable
mappers/ => Model_Mapper
plugins/ => Plugin
services/ => Service
views/
helpers => View_Helper
filters => View_Filter