我想要一些控制器,它们有这样的方法:
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还自动序列化我的实例。
答案 0 :(得分:0)
Symfony没有中间件概念,但event
监听器和订阅者(基本相同)。
查看https://symfony.com/doc/current/event_dispatcher/before_after_filters.html
您将使用kernel.response
(KernelEvents::RESPONSE
)事件来操纵控制器响应。