【问题标题】:Symfony2 Listeners and SessionsSymfony2 监听器和会话
【发布时间】:2012-12-13 16:15:39
【问题描述】:

我正在尝试在 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();
 }

}

谁能告诉我为什么在访问监听器时没有保存我的会话数据?

【问题讨论】:

    标签: session symfony listener session-variables


    【解决方案1】:

    好的,我想通了。

    如果有人遇到与 Listeners 类似的情况,表明您正在更改内容但没有任何反应:

    如果您有多个捆绑包,您可能有 2 个相同的侦听器,而您正在编辑错误的侦听器。侦听器显然是全局的,您只需要一个即可在多个捆绑包中有效。

    您可以在事件分析器中看到已加载的侦听器。

    【讨论】:

      猜你喜欢
      • 2012-05-25
      • 2015-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 1970-01-01
      • 2013-11-01
      相关资源
      最近更新 更多