juhara/zzzmiddleware

使用 ZzzCache 的 Slim Framework (3.0) 缓存中间件

v1.0.16 2018-09-09 23:34 UTC

This package is not auto-updated.

Last update: 2024-09-11 00:20:34 UTC


README

使用 ZzzCache 的 Slim Framework 3.0 缓存中间件

要求

安装

通过 composer 运行

$ composer require juhara/zzzmiddleware

如何使用

将 CacheMiddleware 注册到 Slim 依赖容器

<?php
...
use Juhara\ZzzCache\Contracts\CacheInterface;
use Juhara\ZzzCache\Cache;
use Juhara\ZzzCache\Storages\File;
use Juhara\ZzzCache\Helpers\ExpiryCalculator;
use Juhara\ZzzCache\Helpers\Md5Hash;

$container[CacheInterface::class] = function ($c) {
    // create a file-based cache where all cache
    // files is stored in directory name
    // app/storages/cache with
    // filename prefixed with string 'cache'
    return new Cache(
        new File(
            new Md5Hash(),
            'app/storages/cache/',
            'cache'
        ),
        new ExpiryCalculator()
    );
};

use Juhara\CacheMiddleware\CacheMidleware;
use Juhara\CacheMiddleware\ResponseCacheFactory;

$container[CacheMiddleware::class] = function ($c) {
    $cache = $c->get(CacheInterface::class);
    $factory = new ResponseCacheFactory();
    return new CacheMiddleware($cache, $factory);
};

将 CacheMiddleware 添加到 Slim 应用程序

use Slim\App;
use  Juhara\CacheMiddleware\CacheMiddleware;

$app = new App($settings);
...
$app->add(CacheMiddleware::class);

创建合适的配置

如果使用 Juhara\ZzzCache\Storages\File 作为存储,则需要确保缓存目录可以被 Web 服务器写入。

示例

查看 示例应用程序 了解如何使用 CacheMiddleware。

贡献

如果您想改进它,只需创建 PR。

谢谢。