【发布时间】:2014-05-02 10:10:59
【问题描述】:
显然我保存到 Symfony2 会话的每个键都在一个子键下:
$session->set('foo', 'bar');
将导致:
array('_sf2_attributes' => array('foo' => 'bar'));
这是一个问题,因为我正在构建一个与遗留代码交互的应用程序。我想使用 Symfony 的会话处理程序,但我希望应用程序的旧部分能够从 $_SESSION 读取。换句话说,我想要
$session->set('foo', 'bar');
和
$_SESSION['foo'] = 'bar';
达到同样的效果。
我没有看到任何configuration option 来实现这一点。我使用我设置为的特定会话处理程序
session:
handler_id: my_app.session_handler
所以 Symfony 使用不同的会话名称不会有问题。我能想到的唯一解决方案是围绕我的客户会话处理程序 (my_app.session_handler) 创建一个新的会话处理程序类,它检查应用程序是否尝试访问 _sf2_attributes 但我认为它非常难看,我什至不确定是否会工作。
谢谢!
【问题讨论】: