Я хочу несколько контроллеров, которые имеют такие методы:
public function syncAction(EntityManager $em)
{
$posts = $em->getRepository('App:Posts')->findAllByOwner($this->getUser());
return new JsonResponse(['ok' => true, 'posts' => $this->toJson($posts)]);
}
Я хочу добавить что-то вроде промежуточного программного обеспечения для автоматического jsonify ответа от всех действий этого контроллера. И просто сделать это:
return new JsonResponse(['ok' => true, 'posts' => $posts]);
PS Также автоматически сериализуют мои экземпляры.
У Symfony нет концепции промежуточного программного обеспечения, но event
слушатель и подписчик (в основном одно и то же).
Посмотри на https://symfony.com/doc/current/event_dispatcher/before_after_filters.html
Вы будете использовать kernel.response
(KernelEvents::RESPONSE
) событие, чтобы манипулировать ответом контроллера.
Других решений пока нет …