hautelook / session-storage-handler-chain
这是一个允许您以高效方式从多个存储处理程序中读取/写入会话数据的Symfony 2 扩展包。
该包的官方存储库似乎已消失,因此该包已被冻结。
0.1
2013-10-30 19:02 UTC
Requires
- php: >=5.3.0
- symfony/dependency-injection: ~2.1
- symfony/http-kernel: ~2.1
This package is not auto-updated.
Last update: 2022-01-22 00:12:08 UTC
README
提供会话存储链处理器的Symfony2 扩展包。
简介
此扩展包为会话存储处理程序提供了一个链,该链的行为将根据是读取还是写入操作而有所不同。这意味着,在读取操作中,列表中首先返回给定会话ID的会话的存储处理程序获胜。其他读取器不会被查询。在类似于写入的操作中,将调用每个存储处理程序。以下存储处理程序的功能被视为类似于写入:`write()`、`destroy()` 和 `gc()`。
欢迎贡献力量。
安装
只需运行(假设您已安装 composer.phar 或 composer 二进制文件),或者将其添加到您的 `composer.json` 并运行 `composer install`
$ composer require hautelook/session-storage-handler-chain
现在将扩展包添加到您的 Kernel
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Hautelook\HautelookSessionStorageChainBundle(), // ... ); }
配置
要配置扩展包,请编辑您的 `config.yml` 或 `config_{environment}.yml`
# Session Chain hautelook_session_storage_chain: reader: - reader1 - reader2 ... writer: - writer1 - writer2 ...
示例用例和配置
您想使用主/从设置(写入主节点,从从节点读取)。此外,您想在创建会话时将会话存储在 Memcache 中,并在可能的情况下尝试从该存储读取。
配置
# The different storage handlers: services: pdo_master: class: PDO arguments: - "mysql:host=%database_master_host%;dbname=%database_master_name%" - %database_master_user% - %database_master_password% pdo_slave: class: PDO arguments: - "mysql:host=%database_slave_host%;dbname=%database_slave_name%" - %database_slave_user% - %database_slave_password% memcache: class: Memcache calls: - [connect, [%memcache_server_host%, %memcache_server_port%]] session.storage.pdo_master: class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler arguments: [@pdo_master, %session.pdo.db_options%] session.storage.pdo_slave: class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler arguments: [@pdo_slave, %session.pdo.db_options%] session.storage.memcache: class: Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler arguments: [@memcache, %session.memcache.options%] # Session Chain hautelook_session_storage_chain: reader: - session.storage.memcache - session.storage.pdo_slave writer: - session.storage.memcache - session.storage.pdo_master framework: session: handler_id: hautelook.session_storage_chain
许可协议
SessionStorageHandlerChainBundle 在 MIT 许可证下发布。有关详细信息,请参阅捆绑包中的 Resources/meta/LICENSE 文件。