Zend Framework: использовать модель модуля по умолчанию без префикса - PullRequest
2 голосов
/ 03 ноября 2010

Привет, ребята, я работаю над модульным приложением Zend Framework, которое использует следующую структуру:

application
    modules
        backend
            controllers, models etc...
        frontend
            controllers, models etc.

Следовательно, все модели внешнего интерфейса будут инициироваться с помощью нового Frontend_Model _ * () ...Но мне не нравится это решение, потому что я тоже хочу модели в бэкэнде.

Для контроллера я использовал следующую опцию в моем application.ini:

resources.frontController.params.prefixDefaultModule = false

Сейчасмой Frontend_IndexController просто называется Index_Controller.Есть ли простой способ сделать то же самое для моделей, форм и т. Д.?

Это означает, что вызов типа "new Model _ * ()" должен вести непосредственно к модулю внешнего интерфейса, который является модулем по умолчанию.Чтобы вызвать бэкэнд-модель, мне пришлось использовать «new Backend_Model _ * ()» ...

Заранее спасибо !!!

1 Ответ

0 голосов
/ 03 ноября 2010

Мне удалось заставить эту вещь работать.Чтобы использовать автозагрузку в упомянутом выше случае, я должен был сделать следующее в моем файле начальной загрузки внешнего интерфейса:

protected function _initAutoload()
{
    $autoloader = new Zend_Application_Module_Autoloader(array(
        'namespace' => '',
        'basePath'  => dirname(__FILE__),
    ));
}

Это автоматически устанавливает префикс автозагрузки, поэтому можно инициировать модель внешнего интерфейса с помощью "newМодель _ * ()».Бэкэнд-модель все еще может быть запущена через «new Backend_Model _ * ()»

Примечание: файл начальной загрузки внешнего интерфейса - единственный, к которому нужно обратиться, чтобы запустить эту вещь!

Надеюсь, это кому-нибудь поможет!

...