租户侦听器在Symfony2中加载一次
嗨,我有一个事件侦听器,它检查子域以确定我的Symfony2应用程序中的租户。服务配置为:租户侦听器在Symfony2中加载一次,symfony,Symfony,嗨,我有一个事件侦听器,它检查子域以确定我的Symfony2应用程序中的租户。服务配置为: services: acme.tenant.tenantlistener: class: Acme\TenantBundle\Services\TenantListener arguments: [@doctrine.orm.entity_manager] tags: - { name: kernel.event_listen
services:
acme.tenant.tenantlistener:
class: Acme\TenantBundle\Services\TenantListener
arguments: [@doctrine.orm.entity_manager]
tags:
- { name: kernel.event_listener, event: kernel.request, method: checkTenant }
问题是每次我加载任何控制器操作时,此侦听器都会运行。因此,如果我从Twig调用一个控制器方法,它就会运行,从而在数据库上产生许多不必要的点击。有没有办法让这个监听器在主请求开始时只运行一次?谢谢 据我所知,仅为主请求注册侦听器是不可能的。但是有一种方法可以让代码只运行一次。在侦听器中放置以下代码:
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST == $event->getRequestType()) {
// place your code here so it will run only for master requests
// ...
}
}
据我所知,仅为主请求注册侦听器是不可能的。但是有一种方法可以让代码只运行一次。在侦听器中放置以下代码:
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST == $event->getRequestType()) {
// place your code here so it will run only for master requests
// ...
}
}
据我所知,仅为主请求注册侦听器是不可能的。但是有一种方法可以让代码只运行一次。在侦听器中放置以下代码:
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST == $event->getRequestType()) {
// place your code here so it will run only for master requests
// ...
}
}
据我所知,仅为主请求注册侦听器是不可能的。但是有一种方法可以让代码只运行一次。在侦听器中放置以下代码:
public function onKernelRequest(GetResponseEvent $event)
{
if (HttpKernelInterface::MASTER_REQUEST == $event->getRequestType()) {
// place your code here so it will run only for master requests
// ...
}
}
没错。这里是doc:感谢做了这个把戏的家伙,感谢NHG提供了到内部的链接,我不得不使用HttpKernelInterface来让它工作。谢谢你的更新。我更正了我的代码片段。好像我没有用最新的Symfony医生,没错。这里是doc:感谢做了这个把戏的家伙,感谢NHG提供了到内部的链接,我不得不使用HttpKernelInterface来让它工作。谢谢你的更新。我更正了我的代码片段。好像我没有用最新的Symfony医生,没错。这里是doc:感谢做了这个把戏的家伙,感谢NHG提供了到内部的链接,我不得不使用HttpKernelInterface来让它工作。谢谢你的更新。我更正了我的代码片段。好像我没有用最新的Symfony医生,没错。这里是doc:感谢做了这个把戏的家伙,感谢NHG提供了到内部的链接,我不得不使用HttpKernelInterface来让它工作。谢谢你的更新。我更正了我的代码片段。好像我没有用最新的Symfony医生。