oops/cache-factory 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

oops/cache-factory

最新稳定版本:3.0.0

Composer 安装命令:

composer require oops/cache-factory

包简介

Simple cache factory extension for Nette.

README 文档

README

⚠️ THIS PACKAGE IS NO LONGER MAINTAINED. You can use contributte/cache instead.

Caching is a very common task in web development. The current practice of creating Cache instances in Nette is to enumerate IStorage as a dependency and create the Cache by hand, as seen in the docs. This, however, makes unit testing classes that depend on cache a pain in the you-know-what. You either need to mock the storage and go through Cache code to find what methods are called upon the storage, or use some autoloading magic. I don't think either way is a good one to go. I've found myself writing a simple factory like the one in this package on every project, so I made an extension out of it.

Installation and requirements

$ composer require oops/cache-factory

Oops/CacheFactory requires PHP >= 5.6.

Usage

Register the extension in your config:

extensions:
	cacheFactory: Oops\CacheFactory\DI\CacheFactoryExtension

And replace all occurrences of direct Cache instantiation with call to the factory, so that this:

class CachedFoo
{
	private $cache;

	public function __construct(Nette\Caching\IStorage $cacheStorage)
	{
		$this->cache = new Nette\Caching\Cache($cacheStorage, 'namespace');
	}
}

becomes this:

class CachedFoo
{
	private $cache;

	public function __construct(Oops\CacheFactory\Caching\CacheFactory $cacheFactory)
	{
		$this->cache = $cacheFactory->create('namespace');
	}
}

The factory automatically uses the storage registered in the config. To provide backwards compatibility, you can also pass to the factory an arbitrary storage, should you need it:

$cacheFactory->create('namespace', new Nette\Caching\Storages\DevNullStorage());

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2015-06-26