Я разрабатываю новое приложение и планирую использовать CakePHP 3. Как правило, при разработке приложения поверх фреймворка PHP MVC (CakePHP, CodeIgniter) я реализовал отдельный набор классов, представляющих бизнес-уровень или уровень обслуживания ( в зависимости от того, какие слова вы хотите использовать). Таким образом, стек:
- Представления
- Контроллеры [действительно просто другая часть просмотров; код с земли С#]
- бизнес-уровень [где бизнес-логика идет, потому что бизнес-логика охватывает несколько доменных объектов и не подходит для одной модели /DAO ]
- Модели [aka Объекты доступа к данным]
... с объектами домена (теперь "Объекты" в Cake PHP 3), проходящие между слоями.
Я вижу, что Cake PHP 3 по-прежнему не имеет концепции бизнес-уровня в архитектуре по умолчанию, что является разочаровывающим, но вряд ли непреодолимым. Но после всего этого мой вопрос на самом деле довольно пешеходный. Это: Где я могу разместить MyBusinessLayer.php? В Cake PHP 2 я бы поместил его в приложение /Lib и загрузил его с помощью
App::Import('Lib', 'MyBusinessLayer');
Что такое эквивалент в CakePHP 3 и как его загрузить? Я понимаю, что могу просто прикрепить к нему какое-то старое место и require_once(), но мне интересно, есть ли способ, который более соответствует стандартам Cake PHP. Этот вопрос можно так же легко применить к десятистрочному классу утилиты, но в моем случае это относится к бизнес-уровню.