Модульная структура каталогов с переполнением CakeStack

CakePHP — это фантастика, он действительно заслуживает слогана «Rapid Development Framework». Мне удалось быстро испечь контроллеры, модели, а также шаблоны. Некоторое время все было хорошо, пока я не ударился о кирпичную стену. Приложение, которое я разрабатываю, слишком массивно для простой структуры каталогов, предлагаемой по умолчанию.

На полпути в моем процессе разработки я начал видеть, что оставляю много бизнес-логики внутри классов Table. Я слышал высказывания о том, что не стоит загрязнять модельный класс поведенческим кодом.

Так как мое приложение велико, что требует нескольких модулей, почти мини-приложений, я должен использовать CakePHP немного по-другому. Я объясню структуру моего приложения, которое я бы предпочел.

введите описание изображения здесь

ядро

Эта папка будет содержать все модули, из которых состоит мое приложение. В качестве альтернативы он должен называться «Модули» вместо «Ядро».

Модули

В каждой папке модуля будет папка для контроллеров, моделей, сервисов и шаблонов.

модель

Он будет содержать две подпапки, которые уже предлагаются CakePHP 3. Он будет содержать папки для сущностей и таблиц. Я слышал, что таблица действует как хранилище, поэтому я опустил идею наличия папки хранилища.

обслуживание

Папка service будет содержать сервисы для модуля, в основном код бизнес-логики, который использует объекты таблиц для сохранения и извлечения данных. Это поможет центрировать бизнес-логику и сохранить классы моделей & Контроллер тонкий.

Контроллеры

Контроллеры будут разговаривать с классами обслуживания. Использование сервисов для извлечения данных, сохранения данных, проверки, работы с бизнес-логикой и т. Д. Моя цель также состоит в том, чтобы сделать работу контроллера очень легкой, перенеся большую часть логики в сервисы.

шаблон

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

Пожалуйста, прости меня. Если я не объяснил себя должным образом, мы имеем дело с очень сложным приложением, которое имеет много таблиц, примерно 100. Если у кого-то есть лучшие рекомендации по организации большого приложения в CakePHP 3, я был бы очень признателен.

Разрабатывая свое приложение таким образом, я понимаю, что CakePHP не будет работать «из коробки», мне может понадобиться перенастроить его, чтобы он мог использовать мою собственную структуру каталогов. Насколько легко это будет сделать?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]