Нам нужен доступ к информации базы данных в слушателе.
Настраиваем слушателя в service.yml
Слушатель похож на:
namespace company\MyBundle\Listener;
use Symfony\Component\HttpKernel\Event\GetResponseEvent;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
class RequestListener
{
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public function onKernelRequest(GetResponseEvent $event)
{
...
Как мы можем получить доступ к доктрине в функции onKernelRequest?
Я попытался достать из контроллера и сделать:
$em = $this->getDoctrine()->getEntityManager();
и это работает, но я думаю, что это плохая практика.