我正在尝试在Symfony2侦听器中设置会话数据(Symfony v.2.0.16),但不知何故,侦听器不会注册会话变量。
我有以下内容:
我的services.yml条目:
kernel.listener.domain_listener:
class: Etiam\ClubWebBundle\Listener\SubdomainListener
arguments: [@service_container]
tags:
- { name: kernel.event_listener, event: kernel.request, method: onDomainParse }
这是我的倾听者:
namespace Etiam\ClubWebBundle\Listener;
use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\Event;
class SubdomainListener {
private $container;
public function __construct($container)
{
$this->container = $container;
}
public function onDomainParse(Event $event) {
$session = $this->container->get('session');
$session->set('siteData', '123');
$session->save();
}
}
有人可以告诉我为什么在访问监听器时我的会话数据没有被保存?
答案 0 :(得分:5)
好的,我明白了。
如果有人遇到与听众类似的事情,那么你正在改变事情并且没有任何反应:
如果您有多个捆绑包,则可能有两个相同的侦听器,而您正在编辑错误的一个。听众显然是全球性的,你只需要一个在多个捆绑包中有效。
您可以在事件中的探查器中查看已加载的侦听器。