与遗留会话集成

编辑本页

警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 3.2,现已不再维护。

本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。

与遗留会话集成

有时可能需要将Symfony集成到您最初没有所需控制级别的遗留应用程序中。ob娱乐下载

正如在其他地方所述,Symfony会话旨在ob娱乐下载取代PHP的本机会话session_ * ()的功能和使用_SESSION美元superglobal。此外,Symfony必须启动会话。ob娱乐下载

然而,当确实存在不可能这样做的情况时,您可以使用一个特殊的存储桥PhpBridgeSessionStorage它的设计目的是允许Symfony使用在Symfony ob娱乐下载HttpFoundation组件外部启动的会话。警告您,如果您不小心,某些事情可能会中断这个用例:例如,遗留应用程序擦除_SESSION美元

这个的典型用法是这样的:

12 3 4 5 6 7 8 9 10 11 12 13
使用ob娱乐下载组件HttpFoundation会话会话使用ob娱乐下载组件HttpFoundation会话存储PhpBridgeSessionStorage//遗留应用程序配置会话报错(“session.save_handler”“文件”);报错(“session.save_path”“/ tmp”);session_start ();//让Symfob娱乐下载ony与现有会话进行交互会话会话(PhpBridgeSessionStorage ());// ob娱乐下载symfony现在将与现有的PHP会话交互会话->开始();

这将允许您开始使用Symfony会话API,并允许将应用程序迁移到Symfonob娱乐下载y会话。

请注意

ob娱乐下载Symfony会话将属性等数据存储在特殊的“Bags”中,这些“Bags”使用键_SESSION美元superglobal。这意味着Symfony会话不能访问中ob娱乐下载的任意键_SESSION美元这可以由遗留应用程序设置,尽管所有的_SESSION美元保存会话时,也会保存会话内容。

此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。