【发布时间】:2015-03-25 05:20:49
【问题描述】:
抱歉,如果在我找不到之前有人问过这个问题。我找不到我正在寻找的答案。
我有一个使用 Symfony2 重建的遗留应用程序,不幸的是我需要并行运行一段时间,直到我可以完成整个系统的重建。我已经到了需要 symfony 能够访问遗留会话数据才能运行的部分。
我在 Symfony 网站上找到了这个:http://symfony.com/doc/current/cookbook/session/php_bridge.html http://symfony.com/doc/current/components/http_foundation/session_php_bridge.html
但我不明白是否需要进行配置以及我应该在哪里调用会话开始以及如何从我的新应用程序访问会话数据。
我会在我创建的每个控制器中放置 symfony 中给出的示例吗?
use Symfony\Component\HttpFoundation\Session\Session;
use Symfony\Component\HttpFoundation\Session\Storage\PhpBridgeSessionStorage;
// legacy application configures session
ini_set('session.save_handler', 'files');
ini_set('session.save_path', '/tmp');
session_start();
// Get Symfony to interface with this existing session
$session = new Session(new PhpBridgeSessionStorage());
// symfony will now interface with the existing PHP session
$session->start();
似乎应该有一种方法来集中它。
更新 该手册给出了一个例子,但它没有说明它是否应该进入某个控制器、服务、实体或配置中。
我尝试在控制器中使用示例代码,当我在 $session 上执行 print_r 时,我看不到任何旧会话数据。
**
提前致谢。
【问题讨论】:
-
那么你已经尝试了什么。展示一些代码和努力。
-
@Paziツ 这就是问题的一部分。 Symfony 手册中给出的示例没有说明我需要修改哪些文件。如果我不知道将它们放在哪里,我该如何展示示例?
-
您已经在TheodoEvolutionSessionBundle 观看了吗?这实现了“遗留应用程序和 Symfony2 之间的会话桥”。也支持 symfony1。请参阅文档。