phpsoftbox/session

Session component for the PhpSoftBox framework

Maintainers

Package info

github.com/phpsoftbox/session

pkg:composer/phpsoftbox/session

Statistics

Installs: 137

Dependents: 5

Suggesters: 1

Stars: 0

Open Issues: 0

dev-master 2026-06-18 13:18 UTC

This package is auto-updated.

Last update: 2026-06-18 13:18:52 UTC


README

Компонент для работы с сессиями.

Пример

use PhpSoftBox\Session\Session;
use PhpSoftBox\Session\NativeSessionStore;

$session = new Session(new NativeSessionStore());
$session->start();

$session->set('user_id', 1);
$session->flash('notice', 'Saved');

$session->save();

DatabaseSessionStore

Если session нужно хранить в БД, используйте DatabaseSessionStore. Он читает session id из cookie, хранит payload в таблице sessions и обновляет cookie через общий CookieQueue.

use PhpSoftBox\Cookie\CookieQueue;
use PhpSoftBox\Session\DatabaseSessionStore;
use PhpSoftBox\Session\Session;
use PhpSoftBox\Session\SessionConfig;

$store = new DatabaseSessionStore(
    connections: $connections,
    cookies: new CookieQueue(),
    config: new SessionConfig(name: 'psb_session'),
);

$session = new Session($store);

Пример миграции лежит в database/migrations. В приложении её можно опубликовать через db:migrate:publish --package=phpsoftbox/session.

Middleware

use PhpSoftBox\Session\CsrfMiddleware;
use PhpSoftBox\Session\SessionMiddleware;

$sessionMw = new SessionMiddleware($session);
$csrfMw = new CsrfMiddleware($session);