Intereting Posts
Как преобразовать текстовый URL-адрес в ссылку с возможностью клика на странице PHP? Zend Framework дополнительно Получить параметры с помощью NGINX Ошибка SSL-сертификата Drupal Curl Сброс соединения с помощью peer: mod_fcgid: ошибка чтения данных с сервера FastCGI org.json.JSONException: Значение <br типа java.lang.String не может быть преобразовано в JSONObject Изменение размера / обрезка / наложение изображения на фиксированный размер Сравните текущую дату с датой в формате d / mm / yyyy в PHP php glob – сканирование в подпапках для файла Обновлять Div автоматически с помощью JQuery, когда новая запись добавлена ​​в базу данных MySql Как вы исправляете Nginx автоматически 301 перенаправление на тот же URL с завершающим косой чертой? Запись новой строки в файл на PHP Как передать переменные JavaScript в PHP? Laravel – CircleCI – сбой на phpunit Swift Mailer – не удается отправить почту и не удается найти журналы ошибок Zendframework 2. ID-параметр в SQL-запросе

Реализация активности пользователя в symfony 2

Каков наилучший способ реализации пользовательской активности в symfony 2?

А как это сделать ?

Я знаю, что есть система событий symfony 2. Может быть, я должен инициировать событие?

И целесообразно ли обновлять каждый запрос на страницу или есть другие (лучшие) способы обновления активности пользователя?

Related of "Реализация активности пользователя в symfony 2"

Хорошим способом отслеживания пользовательских запросов (и, возможно, их активности) является прослушивание события kernel.request:

Класс слушателя:

namespace Acme\YourBundle\EventListener; use Symfony\Component\HttpKernel\Event\GetResponseEvent; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\DependencyInjection\ContainerInterface; class RequestListener { /** * Container * * @var ContainerInterface */ protected $container; /** * Listener constructor * * @param ContainerInterface $container */ public function __construct(ContainerInterface $container) { $this->container = $container; } /** * kernel.request Event * * @param GetResponseEvent $event */ public function onKernelRequest(GetResponseEvent $event) { $request = $event->getRequest(); // Here you can intercept all HTTP requests, and through $container get access to user information } } 

Конфигурация для слушателя:

 <container xmlns="http://symfony.com/schema/dic/services" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd"> <parameters> <parameter key="acme.request_listener.class">Acme\YourBundle\EventListener\RequestListener</parameter> </parameters> <services> <service id="acme.request_listener" class="%acme.request_listener.class%"> <tag name="kernel.event_listener" event="kernel.request" method="onKernelRequest" /> <argument type="service" id="service_container" /> </service> </services> </container> 

Вы можете получить дополнительную информацию по этой теме в официальной документации Symfony:

  • Symfony: внутренние запросы
  • Symfony: Сервисный контейнер
 public function onKernelController(FilterControllerEvent $event) { $controller = $event->getController(); if ($controller[0] instanceof Controller and (!strpos( get_class($controller[0]), 'App\FrontendBundle')===false) ) { } }