与遗留会话集成
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.7,现已不再维护。
考虑将您的项目升级到Symfony 6.2。ob娱乐下载
与遗留会话集成
有时可能需要将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许可证。