2010-03-23 2 views
0

Я использую Автозагрузчик модулей для автозагрузки ресурсов (форм, моделей Doctrine и т. Д.). Я вообще не использую Zend_Db_Table.Zend Framework: отключить автозагрузку базовых таблиц модели

Когда я загружаю любую модель Доктрины, , например. MyModule_Model_Test, тоже пытается загрузить MyModule_Model_TestTable, поэтому я получаю ошибки, отсутствующие в MyModule_Model_TestTable.php.

Чтобы исправить это, я могу создать пустой класс MyModule_Model_TestTable и все работает должным образом.
Но этот файл не нужен.

Странно, что, когда я перехожу MyModule_Model_TestTable к /anyDirDeeper/MyModule_Model_TestTable без изменения названия или содержаний, класс правильно загружен слишком ...

Как настроить модуль автозагрузчик, чтобы она не требует этих ... Таблица классов?

у меня в application.ini:

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules[] = 

И Модуль Bootstrap:

class MyModule_Bootstrap extends Zend_Application_Module_Bootstrap {} 

Моя структура приложения похожа на это:

/application/ 
    /modules/ 
     /mymodule/ 
      /models/ 
       /Db/ 
        *Mymodule_Model_Db_Test* 
      *Mymodule_Model_Test* 
+0

Я знаю, что нет хорошего способа загрузить модели Doctrine с модулями, но после прочтения ваших попыток загрузить модели Doctrine, которые вы вдохновили меня на то, чтобы переместить код Doctrine Bootstrap в модуль, честно говоря, я не знаю, как ответьте на ваш вопрос :(и я еще не тестировал его, но это звучит интересно – tawfekov

+0

Он работает, когда я загружаю автоматы в bootstrap, но не в действиях контроллера ... – takeshin

ответ

0

Я думаю, что этот вопрос был потому что я использовал то же имя модуля и имя типа ресурса (зарегистрированное по умолчанию).

Модели были названы: Acl_Model_Modelname и Acl_ пространство имен было зарегистрировано на автозагрузчике. Изменено пространство имен модели на что-то еще, и оно работает.

Смежные вопросы