juliangut / cacheware
PSR7 缓存头部管理中间件
1.1
2016-09-16 15:16 UTC
Requires
- php: >=5.5
- psr/http-message: ^1.0
- symfony/polyfill-php56: ^1.0
- symfony/polyfill-php70: ^1.0
Requires (Dev)
- phpmd/phpmd: ^2.2
- phpunit/phpunit: ^4.5|^5.0
- sebastian/phpcpd: ^2.0
- sensiolabs/security-checker: ^3.0
- squizlabs/php_codesniffer: ^2.0
- zendframework/zend-diactoros: ^1.3
This package is auto-updated.
Last update: 2024-09-15 11:14:15 UTC
README
CacheWare
一个 PSR7 缓存头部管理中间件。
此中间件必须在调用 session_start
之前运行,以便防止 PHP 会话机制自动向客户端发送任何类型的头部(包括会话 Cookie 和缓存)。
您可以使用此中间件与 juliangut/sessionware 一起使用,它将自动处理会话管理。
安装
Composer
composer require juliangut/cacheware
使用
require 'vendor/autoload.php'; use \Jgut\Middleware\CacheWare $configuration = [ 'limiter' => 'private', 'expire' => 1800, // 30 minutes ]; $cacheMiddleware = new CacheWare($configuration); // Get $request and $response from PSR7 implementation $request = new Request(); $response = new Response(); $response = $cacheMiddleware($request, $response, function() { }); // Response has corresponding cache headers for private cache
集成到中间件工作流程中
require 'vendor/autoload.php'; use \Jgut\Middleware\CacheWare $app = new \YourMiddlewareAwareApplication(); $app->addMiddleware(new CacheWare(['limiter' => 'nocache'])); $app->run();
配置
$cacheMiddleware = new CacheWare([ 'limiter' => null 'expire' => 180, ]);
limiter
选择缓存限制类型。它的值可以是 public
、private
、private_no_expire
或 nocache
。如果未提供值,将自动使用在 ini_set 中定义的 session.cache_limiter
的值(通常为 'nocache')。
Cacheware 类有 CACHE_* 常量以方便使用。
如果您想完全禁用缓存头部,请将 limiter 的值设置为 null
。
expire
设置缓存的时间(秒)。如果未提供值,将自动使用在 ini_set 中定义的 session.cache_expire
的值(通常为 180)。当使用 nocache
限制器时,此设置将被忽略。
贡献
发现了错误或有功能请求? 请创建一个新的问题。在创建之前,请先查看现有的问题。
请参阅 CONTRIBUTING.md 文件。
许可证
有关许可证条款的副本,请参阅源代码中包含的 LICENSE 文件。