genkgo / cache
该软件包最新版本(0.4.3)没有可用的许可信息。
0.4.3
2022-11-25 14:12 UTC
Requires
- php: >=5.6
Requires (Dev)
- phpunit/phpunit: ~4.0
- phpunit/phpunit-mock-objects: ~2.0
- predis/predis: ~1.0.3
- tedivm/stash: ~0.12.3
Suggests
- predis/predis: ~1.0.3
- tedivm/stash: ~0.12.3
README
PHP 缓存库,使用Anthony Ferrara最初提出的机制。
感谢Anthony Ferrara。
缓存机制的功劳归功于@ircmaxell。请去阅读他的博客文章,解释为什么缓存应该以这种方式实现。
安装
需要PHP 5.5或更高版本。目前没有计划支持PHP 5.4或PHP 5.3。如果这对您来说是一个障碍,转换应该没有问题。该库非常小巧。
可以通过Composer以genkgo/cache的方式安装和自动加载。
质量
要在命令行运行单元测试,请执行phpunit -c tests/
。需要PHPUnit。
该库试图遵守PSR-1、PSR-2和PSR-4。如果您注意到有任何合规性疏忽,请通过拉取请求发送补丁。
入门
创建自己的适配器
创建一个实现CacheAdapterInterface的适配器。一个简单的数组适配器看起来如下。数组适配器也包含在这个库中。
<?php namespace My\Namespace; use Genkgo\Cache\CacheAdapterInterface; class ArrayAdapter implements CacheAdapterInterface { private $data = []; public function set($key, $value) { $this->data[$key] = $value; } public function get($key) { if ($this->exists($key)) { return $this->data[$key]; } } public function delete($key) { if ($this->exists($key)) { unset($this->data[$key]); } } private function exists($key) { return isset($this->data[$key]) || array_key_exists($key, $this->data); } }
注入适配器
要使用您的适配器,将其注入到另一个对象中并开始使用API。如果您不希望有任何缓存,但您的类依赖于存在缓存适配器,请注入NullAdapter。
贡献
- 发现了错误?请先尝试自己解决它,并提交拉取请求。如果您无法修复它,至少给出一个清晰的错误描述。我们会在有时间的时候查看。
- 希望添加功能?提交拉取请求,看看会发生什么。您还可以提交缺少功能的错误报告,我们可以讨论如何实现它。