dotkernel/dot-session

DotKernel会话组件,扩展并自定义laminas-session

5.6.0 2024-08-08 09:58 UTC

README

重要

dot-session 是对 laminas/laminas-session 的封装

Dynamic JSON Badge

OSS Lifecycle PHP from Packagist (specify version)

GitHub issues GitHub forks GitHub stars GitHub license

Build Static codecov

SymfonyInsight

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
}