2010-09-17 2 views
0

При использовании нормальной архитектуры (я предполагаю, что это называется контроллером на основе архитектуры), Зенд рекомендует следующую структуру папок (taken from here):структура папок для модуля на основе ZEND проекта

<project name>/ 
     application/ 
      configs/ 
       application.ini 
      controllers/ 
       helpers/ 
      forms/ 
      layouts/ 
       filters/ 
       helpers/ 
       scripts/ 
      models/ 
      modules/ 
      services/ 
      views/ 
       filters/ 
       helpers/ 
       scripts/ 
      Bootstrap.php 
     data/ 
      cache/ 
      indexes/ 
      locales/ 
      logs/ 
      sessions/ 
      uploads/ 
     docs/ 
     library/ 
     public/ 
      css/ 
      images/ 
      js/ 
      .htaccess 
      index.php 
     scripts/ 
      jobs/ 
      build/ 
     temp/ 
     tests/ 

Теперь для проектов, которые используют основанная на модулях архитектура, а не стандартная архитектура на основе контроллера, я не могу найти рекомендуемую структуру папок.

  • Я знаю, что будет папка с модулями, и каждый модуль внутри нее будет иметь свои собственные подпапки (контроллеры, представления, модели).
  • Но я видел, что учебник создает только контроллеры и представления (без моделей) и объединяет все модели в основной (прикладной) модели. Странный!
  • Также, поскольку он основан на модуле, не должен ли основной контент приложения также перемещаться в собственный модуль? И если их нужно было переместить в отдельный модуль, возникла бы необходимость в папках (контроллерах, представлениях, моделях) на самом уровне приложения?

ответ

2

Это действительно зависит от вас. Лично я сохраняю модульные модели в каталоге моделей соответствующих модулей, но «общие» модели приложений на уровне приложений. Контроллер ошибок, например, вы будете хранить в приложении/контроллерах.

+0

Я вижу. Поэтому, чтобы проверить, что я понял. Даже с модульной архитектурой, если бы я сам переместил основное приложение в отдельный модуль («по умолчанию»), я могу переместить только это из основного приложения в этот модуль по умолчанию. Я могу перемещать все контроллеры (включая IndexController), за исключением ErrorController, поскольку он должен оставаться в приложении. 2) Я думаю, это отвечает на другой вопрос: следует ли удалять папки моделей приложений/представлений/контроллеров? Ответ будет отрицательным, поскольку даже с модульной архитектурой некоторые части должны оставаться в основном приложении. Верный? – jblue

+0

Я бы согласился со всем этим: «have» - сильное слово, хотя - некоторые люди используют модуль «по умолчанию», и я уверен, что можно использовать модуль-специфический контроллер ошибок, если вы этого хотите; ZF является гибким. –

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