Игорь, если я правильно понимаю, то тут это решено. Модули просто предоставляют проверки, реализующиеApp\Doctor\Check\CheckInterface, которые тегнуты app.doctor.check и все автоматически подхватится
Это точно Symfony? Очень не похоже: используется глобальная $_POST вместо объекта класса Request, экшен возвращает строку, вместо объекта класса Response, ORM точно не Doctrine. Видимо что-то очень кастомное и проблема не в этом
Алексей Дабалаев, это же фреймворк, отправка хедеров и прочие операции инкапсулированы в объект класса Response, который уже используется в конце исполнения приложения: https://github.com/symfony/demo/blob/master/public...
В вашем случае из-за exit вы обрываете весь процесс на середине
ugin_root, из коробки таких данных нет, придется городить костыли. Либо options, либо какие-нибудь префиксы у урла (что-то вроде my_ для личного кабинета) и определять по ним, либо делать Voter, где перебирать все возможные варианты.
Крайне не рекомендую использовать автоматические мапперы. Был опыт использования https://github.com/mark-gerarts/automapper-plus (денормалайзер - туда же) но столкнулся, во-первых, с усложненным конфигом для нестандартных случаев и, во-вторых, невозможностью нормально рефакторить код, т.к. неизвестно где какие поля используются