snicco / session-bundle
v2.0.0-beta.9
2024-09-07 14:27 UTC
Requires
- php: ^7.4|^8.0
- snicco/better-wp-api: ^2.0
- snicco/better-wp-cache: ^2.0
- snicco/better-wp-cache-bundle: ^2.0
- snicco/better-wp-hooks: ^2.0
- snicco/better-wp-hooks-bundle: ^2.0
- snicco/better-wpdb: ^2.0
- snicco/better-wpdb-bundle: ^2.0
- snicco/encryption-bundle: ^2.0
- snicco/event-dispatcher: ^2.0
- snicco/http-routing: ^2.0
- snicco/http-routing-bundle: ^2.0
- snicco/kernel: ^2.0
- snicco/session: ^2.0
- snicco/session-psr16-bridge: ^2.0
- snicco/session-wp-bridge: ^2.0
Requires (Dev)
- codeception/codeception: ^4.1.29
- lucatume/wp-browser: ~3.1.4
- nyholm/psr7: ^1.0.0
- phpunit/phpunit: ^9.5.13
- snicco/http-routing-testing: ^2.0
- snicco/testable-clock: ^2.0
- snicco/testing-bundle: ^2.0
Conflicts
- snicco/better-wp-cli: <2.0.0-beta.9
- snicco/better-wp-cli-testing: <2.0.0-beta.9
- snicco/better-wp-mail: <2.0.0-beta.9
- snicco/better-wp-mail-bundle: <2.0.0-beta.9
- snicco/better-wp-mail-testing: <2.0.0-beta.9
- snicco/blade-bridge: <2.0.0-beta.9
- snicco/blade-bundle: <2.0.0-beta.9
- snicco/content-negotiation-middleware: <2.0.0-beta.9
- snicco/debug-bundle: <2.0.0-beta.9
- snicco/default-headers-middleware: <2.0.0-beta.9
- snicco/eloquent: <2.0.0-beta.9
- snicco/event-dispatcher-testing: <2.0.0-beta.9
- snicco/guests-only-middleware: <1.0.0
- snicco/http-routing-testing: <2.0.0-beta.9
- snicco/https-only-middleware: <2.0.0-beta.9
- snicco/illuminate-container-bridge: <2.0.0-beta.9
- snicco/kernel-testing: <2.0.0-beta.9
- snicco/method-override-middleware: <2.0.0-beta.9
- snicco/minimal-logger: <2.0.0-beta.9
- snicco/must-match-route-middleware: <2.0.0-beta.9
- snicco/no-robots-middleware: <2.0.0-beta.9
- snicco/open-redirect-protection-middleware: <2.0.0-beta.9
- snicco/payload-middleware: <2.0.0-beta.9
- snicco/pimple-bridge: <2.0.0-beta.9
- snicco/psr7-error-handler: <2.0.0-beta.9
- snicco/redirect-middleware: <2.0.0-beta.9
- snicco/session-testing: <2.0.0-beta.9
- snicco/share-cookies-middleware: <2.0.0-beta.9
- snicco/signed-url: <2.0.0-beta.9
- snicco/signed-url-psr15-bridge: <2.0.0-beta.9
- snicco/signed-url-psr16-bridge: <2.0.0-beta.9
- snicco/signed-url-testing: <2.0.0-beta.9
- snicco/signed-url-wp-bridge: <2.0.0-beta.9
- snicco/str-arr: <2.0.0-beta.9
- snicco/templating: <2.0.0-beta.9
- snicco/templating-bundle: <2.0.0-beta.9
- snicco/testable-clock: <2.0.0-beta.9
- snicco/testing-bundle: <2.0.0-beta.9
- snicco/trailing-slash-middleware: <2.0.0-beta.9
- snicco/wp-auth-only-middleware: <2.0.0-beta.9
- snicco/wp-capability-middleware: <2.0.0-beta.9
- snicco/wp-capapility-middleware: <1.0.0
- snicco/wp-guests-only-middleware: <2.0.0-beta.9
- snicco/wp-nonce-middleware: <2.0.0-beta.9
- dev-master
- v2.0.0-beta.9
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v1.10.1
- v1.10.0
- v1.9.1
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- dev-beta
This package is auto-updated.
Last update: 2024-09-07 14:27:55 UTC
README
此 WordPress 扩展将 snicco/session
集成到基于 snicco/kernel
的应用程序中。
此扩展需要 snicco/http-routing-bundle
。
安装
composer install snicco/session-bundle
配置
有关可用的配置选项,请参阅 config/session.php。
如果您的配置目录中没有此文件,则在开发模式下首次启动内核时将复制默认配置。
将 SessionBundle
添加到您的 bundles.php
配置文件中。
<?php // /path/to/configuration/bundles.php use Snicco\Bundle\Session\SessionBundle; return [ 'bundles' => [ Snicco\Component\Kernel\ValueObject\Environment::ALL => [ SessionBundle::class ] ] ];
用法
此扩展包含多个管理会话生命周期的 中间件。
AllowMutableSessionForReadVerbs
允许为 GET 请求启动可写会话。StatefulRequest
启动并保存会话。SessionNoCache
将响应标记为不可缓存。ShareSessionWithViews
将ImmutableSession
和SessionErrors
实例添加到所有ViewResponses
中。SaveResponseAttributes
保存闪存消息、错误和旧输入到会话中。
建议在 HttpRoutingBundle
的 middleware
配置中配置会话中间件,如下所示
//path/to/config/middleware.php use Snicco\Bundle\HttpRouting\Option\MiddlewareOption; use Snicco\Bundle\Session\Middleware\AllowMutableSessionForReadVerbs; use Snicco\Bundle\Session\Middleware\SaveResponseAttributes; use Snicco\Bundle\Session\Middleware\SessionNoCache; use Snicco\Bundle\Session\Middleware\ShareSessionWithViews; use Snicco\Bundle\Session\Middleware\StatefulRequest; return [ MiddlewareOption::GROUPS => [ 'stateful' => [ StatefulRequest::class, ShareSessionWithViews::class, SaveResponseAttributes::class, // SessionNoCache::class, optional ] ], MiddlewareOption::ALIASES => [ 'session-allow-write' => AllowMutableSessionForReadVerbs::class, 'session-no-cache' => SessionNoCache::class, ] ];
会话可以在 PSR-7 请求上访问
// inside a controller or middleware use Snicco\Component\Session\ImmutableSession; use Snicco\Component\Session\MutableSession; $request->getAttribute(ImmutableSession::class); // Only for unsafe request methods or if allowed explicitly for read requests. $request->getAttribute(MutableSession::class);
贡献
此存储库是 Snicco 项目 开发存储库的只读分支。
报告问题和发送拉取请求
请在 Snicco monorepo 中报告问题。
安全
如果您在 BetterWPCache 中发现安全漏洞,请遵循我们的 披露程序。