Zend Framework 1.12 - не может загрузить модель модуля

У меня есть приложение Zend Framework 1.12 с несколькими модулями. Пока все работало хорошо. Но я хотел добавить в свое приложение мапперы, и Zend Framework не может найти класс мапперов.

Структура проекта:

-application
   -modules
     -api
     -otms
       -models
         -Mapper
           FormToOnix2.php
         -FeedFile.php

Файл Mapper выглядит так:

class Otms_Model_Mapper_FormToOnix2
{
   ...
}

В application.ini я добавил префикс "Otms_" для автозагрузки:

autoloaderNamespaces.otms[]   = "Otms_"  

Но когда я пытаюсь создать объект Mapper из контроллера

 $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();

Все отлично работает Как исправить проблему с загрузкой картографа?

1 ответ

Хорошо, я прочитал 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

Поэтому, если вы хотите добавить каталог с помощью картографов, вам следует назвать его "Картограф", а не "Картограф". Это решило мою проблему.

Другие вопросы по тегам