Skip to content

Commit

Permalink
fix: переход на symfony/contracts
Browse files Browse the repository at this point in the history
BREAKING CHANGE:

- зависимость от symfony/cache-contracts: ^2.1 и
  symfony/service-contracts: ^2.1 заменена
  на symfony/contracts: ^2.5 || ^3.0
  • Loading branch information
webarchitect609 committed Dec 22, 2021
1 parent f2ba3a8 commit f8f7499
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 8 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
Change Log
==========

1.11.0
------

### BREAKING CHANGE:

- зависимость от `symfony/cache-contracts: ^2.1` и `symfony/service-contracts: ^2.1` заменена
на `symfony/contracts: ^2.5 || ^3.0`

1.10.0
------

Expand Down
21 changes: 16 additions & 5 deletions UPGRADING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,24 @@
Если конкретная версия не описана, это означает, что изменения в коде при обновлении не требуются. В остальных случаях
следуйте указаниям.

Переход с 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.
полностью работоспособен и на 100% покрыт Unit-тестами класс `\WebArch\BitrixCache\Cache` из версии 2.0.

Класс `\WebArch\BitrixCache\BitrixCache` помечен _**устаревшим**_, и его использование следует **полностью заменить**
на `\WebArch\BitrixCache\Cache`. Для этого методы класса `\WebArch\BitrixCache\BitrixCache` помечены phpDoc-блоками
Expand All @@ -20,23 +31,23 @@
[README](README.md). Основной подход остался прежним - fluent interface, в конце которого описано
[замыкание](https://www.php.net/manual/ru/functions.anonymous.php), результат которого кешируется. Изменения параметров
можно свести к следующему списку:

- `id` превратился в `key`
- `time` превратился в `TTL`
- `path` называется по-прежнему, но теперь по умолчанию равен `/` и не может начинаться не со слеша `/`, не может
заканчиваться на слеш `/`
заканчиваться на слеш `/`

Изменилось поведение метода `\WebArch\BitrixCache\Cache::callback()` по сравнению с
`\WebArch\BitrixCache\BitrixCache::callback()`. Теперь, если замыкание возвращает null, происходит запись кеша.

В соответствии с [PSR-16: Common Interface for Caching Libraries](https://www.php-fig.org/psr/psr-16/) все исключения,
выброшенные из-за некорректных аргументов, соответствуют интерфейсу `\Psr\SimpleCache\InvalidArgumentException`, а
выброшенные по другим причинам - интерфейсу `\Psr\SimpleCache\CacheException`.
выброшенные по другим причинам - интерфейсу `\Psr\SimpleCache\CacheException`.

Также введено использование единого списка кодов ошибок `\WebArch\BitrixCache\Enum\ErrorCode`. Любое выброшенное
исключение использует эти коды.

После завершения перехода на использование `\WebArch\BitrixCache\Cache` следует установить следующее ограничение
версии:
После завершения перехода на использование `\WebArch\BitrixCache\Cache` следует установить следующее ограничение версии:

```bash
composer require "webarchitect609/bitrix-cache":"^1.4 || ^2.0"
Expand Down
5 changes: 2 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,8 @@
"psr/cache": "^1.0",
"psr/log": "^1.1",
"psr/simple-cache": "^1.0",
"symfony/cache-contracts": "^2.1",
"symfony/polyfill-php80": "^1.18",
"symfony/service-contracts": "^2.1"
"symfony/contracts": "^2.5 || ^3.0",
"symfony/polyfill-php80": "^1.18"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.0",
Expand Down

0 comments on commit f8f7499

Please sign in to comment.