Zend session for lumen

发布于 2023-11-16 12:36:55 字数 1765 浏览 33 评论 0

新建一个 ZendSessionServiceProvider :

<?php

namespace App\Providers;

use Zend\Session\Container;
use Zend\Session\SessionManager;
use Zend\Session\Validator\RemoteAddr;
use Zend\Session\Config\SessionConfig;
use Zend\Session\Validator\HttpUserAgent;
use Zend\Session\Storage\SessionArrayStorage;

use Illuminate\Support\ServiceProvider;

class ZendSessionServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        $this->app->singleton(SessionConfig::class, function () {
            $config = new SessionConfig();
            $config->setOptions([
                'name' => 'SESSIONNAME',
                'phpSaveHandler' => 'files',
                'save_path' => storage_path('sessions'),
                'cookie_httponly' => true,
            ]);

            return $config;
        });
        $this->app->singleton(SessionManager::class, function ($app) {

            $manager = new SessionManager($app[SessionConfig::class]);
            $manager->setStorage(new SessionArrayStorage());

            $manager->getValidatorChain()
                ->attach('session.validate', [new RemoteAddr(), 'isValid']);

            $manager->getValidatorChain()
                ->attach('session.validate', [new HttpUserAgent(), 'isValid']);

            return $manager;
        });

        $this->app->singleton('session', function ($app) {
            $container = new Container('namespace', $app[SessionManager::class]);
            return $container;
        });

    }

    public function boot()
    {
        $this->app[SessionManager::class]->start();
    }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

幸福还没到

暂无简介

文章
评论
27 人气
更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文