Symfony2听众和会话

sn0*_*n0r 4 session session-variables listener symfony

我正在尝试在Symfony2 Listener(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 }
Run Code Online (Sandbox Code Playgroud)

这是我的倾听者:

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();
 }

}
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么在访问监听器时我的会话数据没有被保存?

sn0*_*n0r 6

好的,我明白了.

如果有人遇到与听众类似的事情,那么你正在改变事物而没有任何反应:

如果你有多个捆绑包,你可能有两个相同的监听器,而你正在编辑错误的一个.听众显然是全球性的,您只需要一个在多个捆绑包中有效.

您可以在事件下的探查器中查看已加载的侦听器.