lsync, я понял, мы под разными терминами подразумеваем разные вещи. Я говорил о:
forum - сервис, остальное его параметры, по которым формируются те или иные данные.
Сообщение от lsync
|
Вызвали свои сервисы:
- getMenu;
- getUserData;
- getPosts;
- getAd;
- get...
|
Это "ручки" (модель), о которых я писал выше. Их дёрнет сервис forum (контроллер), получит данные и отдаст шаблонизатору (view).
api - сервис, дёрнет ручку getAd, вернёт ответ.
Поэтому я и написал, что одновременно не могут быть вызваны несколько сервисов.
Перед сервисами - роутер (nginx), разруливает, на какой сервис пришел запрос.
Сообщение от lsync
|
Для простоты понимания я бы предложил ввести еще один термин - Flow (Поток). Тогда верны утверждения:
- URL определяет, какой Flow будет отработан;
- Flow содержит нужный набор сервисов;
- Фронт-контроллер выполняет Flow, вызывая нужные сервисы и сохраняя ответы в результирующую модель;
- Фронт-контроллер определяет, корректно ли выполнен Flow, и принимает решение о выборе шаблона;
- Шаблонизатор рендерит модель в указанный контроллером шаблон.
|
Согласен, но, опять же, с поправкой на терминологию: сервис -> модель, ручка. Фронт-контроллер -> сервис, контроллер.
Сообщение от lsync
|
добавить в роутер логику по разбору URL, и формированию дерева ответа
|
Получается, что это уже есть, но разделено: первое - роутер, второе - сервис.
Сообщение от lsync
|
блочный дизайн, так?
|
Ога
Если такая терминология подходит, предлагаю переходить на неё. Если нет - объясни какие моменты считаешь нелогичными/непонятными.