dotkernel / dot-session
DotKernel会话组件,扩展并自定义laminas-session
5.6.0
2024-08-08 09:58 UTC
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- laminas/laminas-servicemanager: ^3.22.1
- laminas/laminas-session: ^2.21.0
- laminas/laminas-stdlib: ^3.18.0
- psr/http-message: ^1.0 || ^2.0
- psr/http-server-middleware: ^1.0.2
Requires (Dev)
- laminas/laminas-coding-standard: ^2.5.0
- phpunit/phpunit: ^10.4.2
- vimeo/psalm: ^5.16.0
README
重要
dot-session 是对 laminas/laminas-session 的封装
DotKernel会话组件,扩展并自定义 laminas-session
安装
在您的项目文件夹中运行以下命令
composer require dotkernel/dot-session
配置
通过在 config/pipeline.php
中添加以下行,将 SessionMiddleware
注册到您的应用程序管道中
$app->pipe(Dot\Session\SessionMiddleware::class);
通过在 config/config.php
中添加以下行,将 dot-session
的 ConfigProvider 注册到您的应用程序配置中
\Dot\Session\ConfigProvider::class,
使用方法
基本使用方法以访问和操作您的服务中的会话对象
方法 #1 - 工厂
步骤 1:创建一个工厂,从容器中检索 SessionManger
class ExampleFactory { // code public function __invoke(ContainerInterface $container) { return new ExampleService( $container->get(SessionManager::class) ) } }
以您在项目中注册工厂的任何模式注册该工厂。
步骤 2:通过您的服务访问
class ExampleService { private SessionManager $session; public function __construct(SessionManager $session) { $this->session = $session; } //your methods }
方法 #2 - 注入
如果您使用注解注入,您可以在服务中注入 Session Manager。
use Dot\AnnotatedServices\Annotation\Inject; use Laminas\Session\SessionManager; class ExampleService { private SessionManager $session; /** * @Inject({SessionManager::class}) */ public function __construct(SessionManager $session) { $this->session = $session; } //your methods }