xmoonlight, возможно. Но автор просил рест-ресурсы. А поскольку вы не упомянули, что это не рест, то он мог бы сделать ложный вывод о том, что так и должны выглядеть рест-ресурсы.
TigerSHARC, да.
В проекте вообще не должно быть такой сущности, как "маленький вспомогательный скрипт". В конечном итоге разработчики вообще перестают думать, к чему отнести эту часть логики и сбрасывают все в utils, который превращается в настоящую кодопомойку.
Вот кстати не согласен. Имплементации репозиториев как раз таки относятся к сервисному слою, и как любой другой сервис может быть использован в контроллера (если речь идет только об извлечении данных для дальнейшего представления).
Denis, экземпляр эксепшна и будет твоим объектом результата. Именно в него нужно вложить всю необходимую информацию о произошедшей ошибке. Далее я вижу такие варианты:
1) Ты ловишь эксепшн примо в контроллере и тут же формируешь респонс. Способ пригоден для самых примитивных случаев.
2) Ты не ловишь эксепшн и таким образом пробрасываешь его дальше вплоть до глобального еррор-хендлера.
3) Комбинированный. Ты все-таки ловишь эксепшн бизнес-логики в контроллер, но заворачиваешь его в какой-нибудь NotFoundHttpException и пробрасываешь дальше вплоть до глобального еррор-хендлера.
На мой взгляд 3й вариант более концептуально более чистый, так как позволит управлять особенностями http протокола (статус-коды, заголовки) непосредственно в контроллере, ведь он именно для этого и предназначен.
Ну а в глобальном еррор-хендреле можно организовать какой-нибудь Command Bus, в котором заранее уже прописаны соответствия ErrorType => ErrorHandler. Ну а если все ошибки обрабатываются более-менее однообразно - можно и обычным сервисом рендеринга обойтись.
Никогда не слышал, чтобы symfony-разработчики юзали костыли типа OpenServer. Обычно им пользуются ламеры, клепающие говносайтики на CMSках. Поэтому если хотите переходить к серьезной разработке - советою отказаться от OpenServerа в принципе.