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