This project is not being actively maintained. If you are interested in helping to maintain this project, take a look at the open issues on GitHub and submit pull requests.

Deprecation Notice

Please note that doctrine/cache is deprecated and no longer maintained. The last version to include cache drivers is 1.11. The 2.x major release series only provides the interfaces for libraries that need to maintain backward compatibility. For all cache uses, we suggest relying on PSR-6 or PSR-16 instead and using a cache library that supports those interfaces.

Introduction

Doctrine Cache is a library that provides an interface for caching data. Here is what the Cache interface looks like.

1namespace Doctrine\Common\Cache; interface Cache { public function fetch($id); public function contains($id); public function save($id, $data, $lifeTime = 0); public function delete($id); public function getStats(); }
2
3
4
5
6
7
8
9
10

Use with PSR-6

If you are using the Cache interface in your application, then you need to upgrade your application to use a PSR-6 cache library and wrap the PSR-6 CacheItemPoolInterface into the Doctrine\Common\Cache\Psr6\DoctrineProvider wrapper:

1use Doctrine\Common\Cache\Psr6\DoctrineProvider; $cache = DoctrineProvider::wrap($psr6CachePool);
2
3

An implementation of the PSR-6 cache is provided by "symfony/cache" library for example, you can install it via Composer with:

$ composer require symfony/cache

A full example to setup a filesystem based cache with symfony/cache then looks like this:

1use Doctrine\Common\Cache\Psr6\DoctrineProvider; use Symfony\Component\Cache\Adapter\FilesystemAdapter; $cachePool = new FilesystemAdapter(); $cache = DoctrineProvider::wrap($cachePool); // $cache instanceof \Doctrine\Common\Cache\Cache
2
3
4
5
6