我想要一些具有如下方法的 Controller :
public function syncAction(EntityManager $em)
{
$posts = $em->getRepository('App:Posts')->findAllByOwner($this->getUser());
return new JsonResponse(['ok' => true, 'posts' => $this->toJson($posts)]);
}
我想添加中间件之类的东西,以便自动对来自该 Controller 的所有操作的响应进行 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
) 事件来操纵 Controller 响应。
关于php - 如何在 Symfony4 中为一个或两个 Controller 添加中间件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48377175/