定制 there4/slim-stash-middleware 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

there4/slim-stash-middleware

最新稳定版本:v0.1.2

Composer 安装命令:

composer require there4/slim-stash-middleware

包简介

Slim Stash Cache Middleware

README 文档

README

Caching middleware layer for Slim using Stash

About

A simple middleware layer for Slim that provides a caching mechanism for endpoints.

Example Setup

Here is an example of the middleware setup. It's using a config setting to enable the cache.

<?php
// Stash Page Cache Middleware
// -----------------------------------------------------------------------------
// A generalized way of caching the output of an endpoint
$app->container->singleton('stash', function () use ($app) {
    if (!is_dir($app->config('caches.path'))) {
        mkdir($app->config('caches.path'), 0777, true);
    }
    $stashFileSystem = new \Stash\Driver\FileSystem(array(
        'path' => $app->config('caches.path')
    ));
    return new \Stash\Pool($stashFileSystem);
});

if ($app->config('enable_cache')) {
    $app->add(new \There4\Slim\Middleware\StashCache($app->stash));
}

And an endpoint that uses the cache:

<?php
// Root of the site
// -----------------------------------------------------------------------------
// Simple index page - no data
$app->get('/', function () use ($app) {
    $app->response->allowCache = true;
    $app->response->cacheExpiration = 3600;
    $app->render('index.html');
});

// User Profile Page
// -----------------------------------------------------------------------------
// This would need to be coupled with a cache invalidation on a user change
$app->get('/profile', function () use ($app) {
    $user = $app->currentUser;
    $app->response->allowCache = true;
    $app->response->cacheExpiration = 3600;
    $app->response->signature = 'userProfile' . $user->id;
    $app->render('index.html');
});

Quick API Reference

  • $app->response->allowCache bool enable caching
  • $app->response->cacheExpiration int seconds to hold data in cache;
  • $app->response->signature mixed leave unset for automatic url based. String for simple signature. Callback function will be executed. Array in call_user_func format is acceptable as well.

TODO

  • Cache warming script
  • Tests

统计信息

  • 总下载量: 54
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 9
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 9
  • Watchers: 13
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2014-10-29

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固