Если конкретная версия не описана, это означает, что изменения в коде при обновлении не требуются. В остальных случаях следуйте указаниям.
Если переход не произошёл автоматически, следует полностью удалить зависимости проекта от symfony/cache-contracts
и symfony/service-contracts
, включая дочерние библиотеки, которые устанавливаются из-за composer.lock
файла.
Затем можно устанавливать webarchitect609/bitrix-cache: ^1.11
.
Если же проект зависим от библиотек, которые в свою очередь зависят от symfony/cache-contracts
и/или symfony/service-contracts
, в них следует провести аналогичные замены, а при невозможности - рассмотреть
возможность использования fork или полного отказа от использования.
Большое количество используемых на проекте библиотек и кода самого проекта могут зависеть от класса
\WebArch\BitrixCache\BitrixCache
, что приводит к необходимости масштабных работ для перехода на версию 2.0. С целью
облегчить такой переход и позволить выполнять его итерациями версия 1.4 сделана переходной: в ней доступен,
полностью работоспособен и на 100% покрыт Unit-тестами класс \WebArch\BitrixCache\Cache
из версии 2.0.
Класс \WebArch\BitrixCache\BitrixCache
помечен устаревшим, и его использование следует полностью заменить
на \WebArch\BitrixCache\Cache
. Для этого методы класса \WebArch\BitrixCache\BitrixCache
помечены phpDoc-блоками
@deprecated
и @see
таким образом, чтобы было понятно как производить замену.
Также рекомендуется ознакомиться с детальными примерами использования \WebArch\BitrixCache\Cache
в
README. Основной подход остался прежним - fluent interface, в конце которого описано
замыкание, результат которого кешируется. Изменения параметров
можно свести к следующему списку:
id
превратился вkey
time
превратился вTTL
path
называется по-прежнему, но теперь по умолчанию равен/
и не может начинаться не со слеша/
, не может заканчиваться на слеш/
Изменилось поведение метода \WebArch\BitrixCache\Cache::callback()
по сравнению с
\WebArch\BitrixCache\BitrixCache::callback()
. Теперь, если замыкание возвращает null, происходит запись кеша.
В соответствии с PSR-16: Common Interface for Caching Libraries все исключения,
выброшенные из-за некорректных аргументов, соответствуют интерфейсу \Psr\SimpleCache\InvalidArgumentException
, а
выброшенные по другим причинам - интерфейсу \Psr\SimpleCache\CacheException
.
Также введено использование единого списка кодов ошибок \WebArch\BitrixCache\Enum\ErrorCode
. Любое выброшенное
исключение использует эти коды.
После завершения перехода на использование \WebArch\BitrixCache\Cache
следует установить следующее ограничение версии:
composer require "webarchitect609/bitrix-cache":"^1.4 || ^2.0"
Это позволит автоматически установить версию 2.0, как только будет завершён переход.