2014-07-07 65 views
2

我有幾個模塊的Zend Framework 1.12應用程序。迄今爲止,一切運作良好。但是我想將映射器添加到我的應用程序中,Zend Framework找不到映射器類。該項目的Zend Framework 1.12 - 無法加載模塊的模型

結構:

-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 

與此同時,如果我嘗試創建另一個OTMS模型的對象,如:

$file = new Otms_Model_FeedFile(); 

,一切工作正常。如何解決映射器加載問題?

回答

2

好的,我讀了Zend Documentation關於自動加載器和模塊資源加載器。所以,

Zend Framework ships with a concrete implementation of Zend_Loader_Autoloader_Resource    
that contains resource type mappings that cover the default recommended 
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 

所以,如果你婉與映射器添加目錄,你應該命名爲「映射器」而不是「映射」。這解決了我的問題。