Я хочу выполнить некоторую постобработку после отправки объекта ответа в моем контроллере Symfony. Проблема в том, что для постобработки требуются другие методы, содержащиеся в моем объекте контроллера. Я хотел бы сделать что-то вроде этого:
public function testAction() {
$dispatcher = new EventDispatcher();
$dispatcher->addListener('kernel.terminate', function (Event $event) {
$controller->get('logger');
$logger->info('hello');
});
return new Response();
}
Как я могу внедрить переменную $controller в мою постобработку kernel.terminate?
service_container
, если вы используете только регистратор? Внедрениеservice_container
плохо, хотя его можно было бы избежать, поскольку оно создает тесную связь между вашим приложением и фреймворком. Вы должны рассмотреть возможность введения только@logger
24.09.2013