加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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
> Symfony: Service container

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读