Cache factory and wrapper for the PublishingKit project

0.0.2 2021-05-09 09:59 UTC

This package is auto-updated.

Last update: 2023-05-09 14:15:41 UTC


Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

PublishingKit/Cache is a wrapper around a PSR6-compatible caching library to make it more convenient to work with.

In addition, it also provides factory classes for creating instances of the following caches:

  • tedivm/stash
  • symfony/cache
  • doctrine/cache, via the Doctrine bridge in PHP-Cache

However, the factory classes do not support every driver. If your driver of choice is not supported, feel free to submit a pull request for this.

In theory it should also be easy to add support for other PSR6-compatible caches. Again, if you want to see factory classes added for those caches, please submit a pull request.


Via Composer

$ composer require publishing-kit/cache


The wrapper can be instantiated by passing in any cache object that implements PSR6:

$wrapper = new PublishingKit\Cache\Services\Cache\Psr6Cache($cache);

The factory classes accept an array describing the cache in question. Here we create a Stash instance using Redis:

$factory = new PublishingKit\Cache\Factories\StashCacheFactory();
$cache = $factory->make([
        'driver' => 'redis',
        'servers' => [[

And here we do the same for Symfony Cache:

$factory = new SymfonyCacheFactory();
$cache = $factory->make([
    'driver' => 'redis',
    'server' => 'redis://',

Change log

Please see CHANGELOG for more information on what has changed recently.


$ composer test


Please see CONTRIBUTING and CODE_OF_CONDUCT for details.


If you discover any security related issues, please email instead of using the issue tracker.



The MIT License (MIT). Please see License File for more information.