定制 euskadi31/cache-service-provider 二次开发

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

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

euskadi31/cache-service-provider

最新稳定版本:v1.0

Composer 安装命令:

composer require euskadi31/cache-service-provider

包简介

A Cache Service Provider for Silex 2.0, using the doctrine/cache package

README 文档

README

Build Status SensioLabsInsight

This service provider for Silex 2.0 uses the Cache classes from Doctrine Common to provide a cache service to a Silex application, and other service providers.

Install

Add euskadi31/cache-service-provider to your composer.json:

% php composer.phar require euskadi31/cache-service-provider:~1.0

Usage

Configuration

If you only need one application wide cache, then it's sufficient to only define a default cache, by setting the default key in cache.options.

The cache definition is an array of options, with driver being the only mandatory option. All other options in the array, are treated as constructor arguments to the driver class.

The cache named default is the cache available through the app's cache service.

<?php

$app = new Silex\Application;

$app->register(new \Euskadi31\Silex\Provider\CacheServiceProvider, [
    'cache.options' => [
        'default' => [
            'driver' => 'apc'
        ]
    ]
]);

The driver name can be either:

  • A fully qualified class name
  • A simple identifier like "apc", which then gets translated to \Doctrine\Common\Cache\ApcCache.
  • A Closure, which returns an object implementing \Doctrine\Common\Cache\Cache.

This cache is then available through the cache service, and provides an instance of Doctrine\Common\Cache\Cache:

if ($app['cache']->contains('foo')) {
    echo $app['cache']->fetch('foo'), "<br />";
} else {
    $app['cache']->save('foo', 'bar');
}

To configure multiple caches, define them as additional keys in cache.options:

$app->register(new \Euskadi31\Silex\Provider\CacheServiceProvider, [
    'cache.options' => [
        'default' => [
            'driver' => 'apc'
        ],
        'file' => [
            'driver' => 'filesystem',
            'directory' => '/tmp/myapp'
        ],
        'global' => [
            'driver' => function() {
                $redis = new \Doctrine\Common\Cache\RedisCache;

                $redis->setRedis($app['redis']);

                return $redis;
            }
        ]
    ]
]);

All caches (including the default) are then available via the caches service:

$app['caches']['file']->save('foo', 'bar');

License

CacheServiceProvider is licensed under the MIT license.

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2015-06-17