genkgo/cache

该软件包最新版本(0.4.3)没有可用的许可信息。

0.4.3 2022-11-25 14:12 UTC

This package is auto-updated.

Last update: 2024-08-25 18:06:55 UTC


README

PHP 缓存库,使用Anthony Ferrara最初提出的机制。

感谢Anthony Ferrara。

缓存机制的功劳归功于@ircmaxell。请去阅读他的博客文章,解释为什么缓存应该以这种方式实现。

安装

需要PHP 5.5或更高版本。目前没有计划支持PHP 5.4或PHP 5.3。如果这对您来说是一个障碍,转换应该没有问题。该库非常小巧。

可以通过Composer以genkgo/cache的方式安装和自动加载。

质量

Scrutinizer Code Quality Code Coverage Build Status

要在命令行运行单元测试,请执行phpunit -c tests/。需要PHPUnit

该库试图遵守PSR-1PSR-2PSR-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。

贡献

  • 发现了错误?请先尝试自己解决它,并提交拉取请求。如果您无法修复它,至少给出一个清晰的错误描述。我们会在有时间的时候查看。
  • 希望添加功能?提交拉取请求,看看会发生什么。您还可以提交缺少功能的错误报告,我们可以讨论如何实现它。