Адаптер кеша Doctrine

Дата обновления перевода 2021-12-25

Адаптер кеша Doctrine

5.4

Классы DoctrineAdapter и DoctrineProvider устарели в Symfony 5.4, и будут удалены в Symfony 6.0.

Этот адаптер оборачивает любой класс, расширяющий абстрактный провайдер Кеш Doctrine, позволяя вам использовать эти провайдеры в вашем приложении, как будто они адаптеры кеша Symfony.

Этот адаптер ожидает экземпляр \Doctrine\Common\Cache\CacheProvider в качестве своего первого параметра и опционально пространство имён и время жизни кеша по умолчанию в качестве второго и третьего параметров:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use Doctrine\Common\Cache\CacheProvider;
use Doctrine\Common\Cache\SQLite3Cache;
use Symfony\Component\Cache\Adapter\DoctrineAdapter;

$provider = new SQLite3Cache(new \SQLite3(__DIR__.'/cache/data.sqlite'), 'youTableName');

$cache = new DoctrineAdapter(

    // экхемпляр провайдера кеша
    CacheProvider $provider,

    // строка, добавленная префиксом к ключам объектов, хранящихся в этом кеше
    $namespace = '',

    // время жизни по умолчанию (в секундах) для объектов кеша, которые не определяют
    // собственное время жизни, со значением 0, вызывающим бесконечное хранение объектов
    // (т.е. пока DB не будет отброшена или её строки не будут удалены другим образом)
    $defaultLifetime = 0
);

Tip

Класс DoctrineProvider также предоставлен компонентом для использования любых реализаций, совместимых с PSR6 с классами, совместимыми с Doctrine.