linkorb/flex-session

允许通过单个环境变量切换会话存储后端

v0.1.0 2019-04-25 07:53 UTC

This package is auto-updated.

Last update: 2024-08-25 19:10:37 UTC


README

FlexSession: .env可配置的会话后端

允许使用环境变量在运行时切换SessionHandler。

使用

$typeProvider = TypeProviderFactory::fromEnv('FLEX_SESSION');
$handlerFactory = new FlexSessionHandlerFactory($typeProvider);

$handlerFactory->addType('file', new FileSessionHandlerFactory());
$handlerFactory->addType('memcached', new MemcachedSessionHandlerFactory());
$handlerFactory->addType('pdo', new PdoSessionHandlerFactory());

$handler = new FlexSessionHandler($handlerFactory);
$session = new Session(new NativeSessionStorage([], $handler));

示例定义环境变量

# File based
FLEX_SESSION=file?path=/tmp/my-app-sessions
# Memached
FLEX_SESSION=memcached?server=127.0.0.1
# PDO
FLEX_SESSION=pdo?dsn=mysql:host=localhost;dbname=testdb&username=x&password=y&table=session_table

运行测试

./vendor/bin/phpunit --bootstrap vendor/autoload.php tests/

链接

HttpFoundation 组件(Symfony 文档)