Ant*_*dev 3 php symfony symfony-flex
我想要一些具有如下方法的控制器:
public function syncAction(EntityManager $em)
{
$posts = $em->getRepository('App:Posts')->findAllByOwner($this->getUser());
return new JsonResponse(['ok' => true, 'posts' => $this->toJson($posts)]);
}
Run Code Online (Sandbox Code Playgroud)
我想添加像中间件这样的东西来自动 jsonify 来自该控制器的所有操作的响应。并且可以简单地做到这一点:
return new JsonResponse(['ok' => true, 'posts' => $posts]);
Run Code Online (Sandbox Code Playgroud)
PS 还自动序列化我的实例。
Symfony 没有中间件概念,只有event
监听器和订阅者(基本上是同一件事)。
看看https://symfony.com/doc/current/event_dispatcher/before_after_filters.html
您将使用kernel.response
( KernelEvents::RESPONSE
) 事件来操纵控制器响应。