Хроники Yii3
623 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://yangx.top/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #yiisoftDefinitions #yiisoftDi

В контейнере зависимостей Yii Dependency Injection добавили возможность включить «строгий» режим (PR), в этом режиме контейнер будет работать только с явно определёнными дефинишенами.

Строгий режим включается в конфигурации контейнера:

$config = ContainerConfig::create()->withStrictMode(true);
$container = new Container($config);

—————

Контейнер работает на базе Yii Definitions, в котором также добавили строгий режим для хранилища DefinitionStorage (PR).
⚡️ #yiisoftDi

Несколько улучшений в Yii Dependency Injection:

• Запретили расширения для ContainerInterface (PR).

• В документации добавили блок «Указание метаданных для определений сервисов, не являющихся массивом» (PR).

• Увеличили покрытие кода тестами и сделали небольшой рефакторинг, не затрагивающий публичный API (PR).
⚡️ #yiisoftDi

Ещё немного изменений в Yii Dependency Injection (PR):

• финализировали класс StateResetter,

• в методе StateResetter::setResetters() добавили проверки на корректность ресеттеров,

• покрытие тестами увеличили до 100%.
⚡️ #yiisoftDi

Продолжаем готовить Yii Dependency Injection к релизу.

• Ресеттеры состояния сервисов из атрибутов reset в дефинишенах теперь работают только в случаях, когда для контейнера не задано определение сервиса StateResetter или его расширение. Другими словами, если вы определили для контейнера StateResetter, то для сброса состояния будет использовать именно он (PR, PR).

• Улучшена валидация конфигурации (теги и др.) + уровень Psalm поднят до 1 (PR).
⚡️ #yiisoftDi

В Yii Dependency Injection исправили получение ресеттеров состояния сервисов из делегатов: ранее, если задан кастомный ресеттер для контейнера, ресеттер из делегатов не использовался (PR).
#yiisoftDi #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.0.0

PSR-совместимый контейнер внедрения зависимостей.

• Полное соответствие PSR-11.

• Поддержка внедрения зависимостей в конструктор, свойства и методы.

• Определение циклических зависимостей.

• Гибкий синтаксис для определение сервисов, в том числе в виде массива.

• Загрузка существующих классов без явного определения в контейнере (опционально).

• Поддержка алиасов для сервисов.

• Поддержка сервис-провайдеров.

• Наличие инструмента для сброса состояния в долгоживущих приложениях, таких как RoadRunner или Swoole.

• Поддержка контейнеров-делегатов, которые пробуют разрешить зависимость, если основной контейнер не смог.

• Наличие композитного контейнера.
⚡️ #yiisoftDi

В пакете Yii Dependency Injection добавили тесты с разрешимой и неразрешимой опциональными зависимостями (PR).
#yiisoftDi #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.0.1

• Исправлена ошибка: определение сервиса в виде массива не использовалось в случае расширения сервиса в сервис-провайдере (PR).
⚡️ #yiisoftDi

В пакете Yii Dependency Injection класс ExtensibleService помечен как @internal (PR) .
#yiisoftDi #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.0.2

• Исправлена опечатка в названии метода в классе TagHelper (PR):
extarctTagFromAlias()extractTagFromAlias()