juliangut/cacheware

PSR7 缓存头部管理中间件

1.1 2016-09-16 15:16 UTC

This package is auto-updated.

Last update: 2024-09-15 11:14:15 UTC


README

PHP version Latest Version License

Build status Style Code Quality Code Coverage Total Downloads

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

选择缓存限制类型。它的值可以是 publicprivateprivate_no_expirenocache。如果未提供值,将自动使用在 ini_set 中定义的 session.cache_limiter 的值(通常为 'nocache')。

Cacheware 类有 CACHE_* 常量以方便使用。

如果您想完全禁用缓存头部,请将 limiter 的值设置为 null

expire

设置缓存的时间(秒)。如果未提供值,将自动使用在 ini_set 中定义的 session.cache_expire 的值(通常为 180)。当使用 nocache 限制器时,此设置将被忽略。

贡献

发现了错误或有功能请求? 请创建一个新的问题。在创建之前,请先查看现有的问题。

请参阅 CONTRIBUTING.md 文件。

许可证

有关许可证条款的副本,请参阅源代码中包含的 LICENSE 文件。