php – 在symfony中实现用户活动2
发布时间:2020-12-13 14:00:09 所属栏目:PHP教程 来源:网络整理
导读:在symfony 2中实现用户活动的最佳方式是什么? 怎么办? 我知道有symfony的事件系统2.也许我应该触发一个事件? 更新每个页面请求是明智的,还是有其他(更好的)更新用户活动的方式? 跟踪用户请求(也可能是他们的活动)的好方法是收听kernel.request事件: 听
在symfony 2中实现用户活动的最佳方式是什么?
怎么办? 我知道有symfony的事件系统2.也许我应该触发一个事件? 更新每个页面请求是明智的,还是有其他(更好的)更新用户活动的方式?
跟踪用户请求(也可能是他们的活动)的好方法是收听kernel.request事件:
听众类: namespace AcmeYourBundleEventListener; use SymfonyComponentHttpKernelEventGetResponseEvent; use SymfonyComponentHttpFoundationRequest; use SymfonyComponentDependencyInjectionContainerInterface; 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">AcmeYourBundleEventListenerRequestListener</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: Internal requests (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |