Как добавить промежуточное ПО для одного или двух контроллеров в Symfony4?

Я хочу несколько контроллеров, которые имеют такие методы:

public function syncAction(EntityManager $em)
{
    $posts = $em->getRepository('App:Posts')->findAllByOwner($this->getUser());

    return new JsonResponse(['ok' => true, 'posts' => $this->toJson($posts)]);
}

Я хочу добавить что-то вроде промежуточного программного обеспечения, чтобы автоматически отвечать на все действия этого контроллера. И просто сделать это:

    return new JsonResponse(['ok' => true, 'posts' => $posts]);

PS Также автоматически сериализуют мои экземпляры.

1 ответ

У Symfony нет концепции промежуточного программного обеспечения, но event слушатель и подписчик (в основном одно и то же).

Взгляните на https://symfony.com/doc/current/event_dispatcher/before_after_filters.html

Вы будете использовать kernel.response (KernelEvents::RESPONSE) событие, чтобы манипулировать ответом контроллера.

Другие вопросы по тегам