Symfony 2:会话和存储之间的区别?
Posted
技术标签:
【中文标题】Symfony 2:会话和存储之间的区别?【英文标题】:Symfony 2 : difference between session and storage? 【发布时间】:2012-10-18 19:34:22 【问题描述】:谁能向我解释一下 Symfony 2 中“会话”和“存储”之间的区别?
我正在使用 PdoSessionStorage,但我看不到:
Symfony\Component\HttpFoundation\Session Symfony\Component\HttpFoundation\Session\PdoSessionStorage...这两个类似乎都被实例化了!
【问题讨论】:
【参考方案1】:一个代表会话,另一个代表会话的存储方式。 PdoSessionStorage 将通过数据库上的 PDO 处理存储。这是一种将会话的实际概念和内容与其存储分离的方式,因为它可以以不同的方式存储。
你为什么担心这个?
会话处理似乎也被重构了,我认为你没有使用最新版本的 symfony。但无论如何,您不必担心这些类。
【讨论】:
我使用的是 SF 2.0。但无论如何,我不明白 SF 如何与这两个类一起工作。我尝试了一些方法:我手动禁用了 PdoSessionStorage 中的“读取”和“写入”功能(仅用于测试目的)。因此,我应该无法访问受限页面,因为 SF 无法再读取我的会话数据。但即使我被正确重定向到登录页面,这个请求的 HTTP 响应(在 Firebug 中看到)也会向我显示这个受限页面的完整 html 内容。这是我不明白的。 我认为调试你正在做的事情可能是一件相当复杂的事情。我是否可以建议您采用与在 Symfony 中编辑类不同的方法,这似乎使您感到困惑而不是帮助您。禁用会话存储似乎根本不是放置或删除访问障碍的更直接方法,可能有许多更高抽象级别的方法更容易遵循,其中包括您实际编写的代码。以上是关于Symfony 2:会话和存储之间的区别?的主要内容,如果未能解决你的问题,请参考以下文章