Framework.session.storage_id 的有效值是多少?

2024-01-01

在 Symfony 配置中有一个条目framework.session.storage_id。此设置也出现在默认配置中Symfony 配置文档 http://symfony.com/doc/current/reference/configuration/framework.html但没有解释。我的假设是它定义了会话数据在服务器端的存储位置。

我在该条目中看到的值包括session.storage.mock_file, session.storage.native and session.storage.filesystem。我不确定这些值的确切含义(例如,模拟文件和文件系统之间有什么区别?),并且还认为这不是可能值的完整列表。

那么这个配置键到底控制什么以及哪些值是有效的?


有效值framework.session.storage_id如下:

  • session.storage.mock_file- 供测试用。它根本不启动会话。
  • session.storage.filesystem- 供测试用。它是一个别名session.storage.mock_file.
  • session.storage.native- 使用定义的会话处理程序的默认实现
  • session.storage.php_bridge - 对于旧版应用程序 http://symfony.com/doc/current/cookbook/session/php_bridge.html

从开发者的角度来看,有一个session抽象会话工作的服务。session服务取决于一些会话存储服务. 会话存储从PHP角度实现会话管理(调用session_start()函数为例)。Storage也取决于一些会话处理程序. Handler正在实施\SessionStorage它告诉我们会话将如何以及在哪里物理存储。

这个三层设计 https://github.com/symfony/symfony/blob/2.6/src/Symfony/Bundle/FrameworkBundle/Resources/config/session.xml允许创建storage用于测试不调用session_start()根本不使用处理程序(session.storage.mock_file)。或者创建handler可以从任何地方存储和加载会话(session.storage.native). session.storage.php_bridge解决情况时session_start()由外部 PHP 代码调用(不是由 Symfony会话存储).

我希望能够清楚地理解。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Framework.session.storage_id 的有效值是多少? 的相关文章

随机推荐