phpsoftbox / session
Session component for the PhpSoftBox framework
dev-master
2026-06-18 13:18 UTC
Requires
- php: ^8.4
- phpsoftbox/cookie: dev-master
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.94
- phpsoftbox/cli-app: dev-master
- phpsoftbox/cs-fixer: ^1.1.0
- phpsoftbox/database: dev-master
- phpsoftbox/http-message: dev-master
- phpunit/phpunit: ^11.2
Suggests
- phpsoftbox/database: Required for DatabaseSessionStore.
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);