Создание слушателя:
// src/Acme/DemoBundle/EventListener/AcmeListener.php
namespace Acme\DemoBundle\EventListener;
use Symfony\Component\DependencyInjection\ContainerInterface;
class AcmeListener
{
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
$this->container->get('doctrine.orm.manager')->getRepository('repositoryName'); // load data from database
}
}
Определение слушателя:
# app/config/config.yml
services:
kernel.listener.your_listener_name:
class: Acme\DemoBundle\EventListener\AcmeListener
arguments: ["@service_container"]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onKernelRequest }
Также может быть полезно прочитать this пример
установки на kernel.request слушателя: http://symfony.com /doc/current/cookbook/service_container/event_listener.html – Cerad