@0neS я бы привёл пример, но видно не совсем понимаю суть проблемы - вот это вообще непонятно - Как запилить динамические firewall'ы для всех хостов? Зачем и что конкретнее нужно сделать, может если пойму помогу.
Это не выглядит как костыль и это не костыль, а просто чёткое и понятное указание, какой шаблон рендерить. А то что вы пытаетесь сделать, очень неявно и в итоге запутает вас в будущем. Хотя если вам нравится подход yii, то почему бы его не использовать? В общем в более менее сложном приложении - ваш подход выльется в говнокод.
Нет, прокси и адаптер совсем для другого, вся суть в том чтобы сделать набор методов, которые можно будет заюзать в другом месте, это называется инкапсуляцмя и слабая связанность компонентов, контроллёр не знает, что там происходит. Прокси он подменяет один объект другим объектом, а адаптер преобразует олиз интерфейс к другому
сервис в данном контексте это просто класс, который берёт на себя всю работу, он вызывает нужные вам методы, например:
class Controller
{
public function indexAction()
{
$service = new PostService();
$posts = $service->findAll();
$publishedPosts = $service->findPublished();
return $this->render('template.html', ['posts' => $posts]);
}
}
т.е в данном примере контроллёр работает с одной сущностью сервисом PostService. Вообще это очень очень простой пример, чтобы в целом въехать нужно книжки по проектированию читать.
фреймворк должен хорошо решать поставленную задачу, а не существовать только для того, чтобы разобраться в каком-то компоненте, ну тут конечно на любителя, есть задроты, которым он нравится, я лично не вижу в нём смысла если есть симфони, т.к. по удобству для разрабочика он разы проигрывает симони.
потому что silex у плохая архитиектура, готовить конечно можно научиться, но если учиться то лучше готовить симфони, вообще не вижу смысла в фреймворке silex, если есть симфони.