Skip to content

Latest commit

 

History

History
56 lines (41 loc) · 4.7 KB

UPGRADING.md

File metadata and controls

56 lines (41 loc) · 4.7 KB

Инструкция по обновлению

Если конкретная версия не описана, это означает, что изменения в коде при обновлении не требуются. В остальных случаях следуйте указаниям.

Переход с 1.10 на 1.11

Если переход не произошёл автоматически, следует полностью удалить зависимости проекта от symfony/cache-contracts и symfony/service-contracts, включая дочерние библиотеки, которые устанавливаются из-за composer.lock файла. Затем можно устанавливать webarchitect609/bitrix-cache: ^1.11.

Если же проект зависим от библиотек, которые в свою очередь зависят от symfony/cache-contracts и/или symfony/service-contracts, в них следует провести аналогичные замены, а при невозможности - рассмотреть возможность использования fork или полного отказа от использования.

Переход с 1.* на 1.4

Большое количество используемых на проекте библиотек и кода самого проекта могут зависеть от класса \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, как только будет завершён переход.