Структура каталогов в MVC: объекты стратегии попадают в папку моделей? - PullRequest
0 голосов
/ 20 июня 2011

В какую папку следует помещать объекты стратегии или объекты, не являющиеся моделями домена?Я использую Zend Framework, если это имеет значение.Цени это!

Ответы [ 2 ]

2 голосов
/ 20 июня 2011

Я бы использовал рекомендованную структуру папок здесь в Справочнике Zend-программиста и поместил бы их в папку модулей.

1 голос
/ 20 июня 2011

Два довольно стандартных варианта:

  1. Поместите этот код в папку library. Обычно файл library/App/SomePackage/SomeClass.php будет содержать класс App_SomePackage_SomeClass. Просто добавьте строку autoloadernamespaces[] = "App_" в ваш файл configs/application.ini.

  2. Создайте новую папку в папке application и настройте Zend_Loader_Autoloader_Resource (или его расширенный класс Zend_Application_Module_Autoloader) с соответствующими пространствами имен приложений, путями и префиксами.

Использование этого второго подхода может пойти примерно так:

protected function _initResourceLoader()
{
    $resourceLoader = Zend_Application_Module_Autoloader(array(
        'namespace' => 'Application_',
        'basePath'  =>  APPLICATION_PATH,
    ));
    $resourceLoader->addResourceType('strategy', 'strategies', 'Strategy');
}

Тогда класс с именем Application_Strategy_SomeClass будет находиться в файле application/strategies/SomeClass.php.

Обратите внимание, что использование Zend_Application_Module_Autoloader - вместо более общего родителя Zend_Loader_Autoloader_Resource - даст вам стандартный набор сопоставлений автозагрузчика для моделей, форм, служб, помощников представления и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...