При использовании нормальной архитектуры (я предполагаю, что это называется контроллером на основе архитектуры), Зенд рекомендует следующую структуру папок (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/
Теперь для проектов, которые используют основанная на модулях архитектура, а не стандартная архитектура на основе контроллера, я не могу найти рекомендуемую структуру папок.
- Я знаю, что будет папка с модулями, и каждый модуль внутри нее будет иметь свои собственные подпапки (контроллеры, представления, модели).
- Но я видел, что учебник создает только контроллеры и представления (без моделей) и объединяет все модели в основной (прикладной) модели. Странный!
- Также, поскольку он основан на модуле, не должен ли основной контент приложения также перемещаться в собственный модуль? И если их нужно было переместить в отдельный модуль, возникла бы необходимость в папках (контроллерах, представлениях, моделях) на самом уровне приложения?
Я вижу. Поэтому, чтобы проверить, что я понял. Даже с модульной архитектурой, если бы я сам переместил основное приложение в отдельный модуль («по умолчанию»), я могу переместить только это из основного приложения в этот модуль по умолчанию. Я могу перемещать все контроллеры (включая IndexController), за исключением ErrorController, поскольку он должен оставаться в приложении. 2) Я думаю, это отвечает на другой вопрос: следует ли удалять папки моделей приложений/представлений/контроллеров? Ответ будет отрицательным, поскольку даже с модульной архитектурой некоторые части должны оставаться в основном приложении. Верный? – jblue
Я бы согласился со всем этим: «have» - сильное слово, хотя - некоторые люди используют модуль «по умолчанию», и я уверен, что можно использовать модуль-специфический контроллер ошибок, если вы этого хотите; ZF является гибким. –