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

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

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #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()
⚡️ #yiisoftAccess #yiisoftErrorHandler #yiisoftEventDispatcher #yiisoftFactory #yiisoftHttp #yiisoftI18n #yiisoftAliases #yiisoftJson #yiisoftProfiler #yiisoftInjector #yiisoftMailerSymfony #yiisoftMutex #yiisoftRateLimiter #yiisoftNetworkUtilities #yiisoftSession #yiisoftRouter #yiisoftStrings #yiisoftRouterFastroute #yiisoftRequestBodyParser #yiisoftTranslatorMessageGettext #yiisoftTranslatorExtractor #yiisoftTranslatorFormatterSimple #yiisoftTranslator #yiisoftTranslatorFormatterIntl #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftVarDumper #yiisoftViewTwig #yiisoftYiiEvent #yiisoftTranslatorMessagePhp #yiisoftDataResponse #yiisoftCacheFile #yiisoftCookies #yiisoftCsrf #yiisoftAssets #yiisoftAuthJwt #yiisoftLog #yiisoftArrays #yiisoftYiiFilesystem #yiisoftYiiHttp #yiisoftYiiRunnerHttp #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftYiiRunnerRoadrunner #yiisoftSecurity #yiisoftYiiSwagger #yiisoftYiiSentry #yiisoftMutexFile #yiisoftMiddlewareDispatcher #yiisoftTestSupport #yiisoftYiiDebug #yiisoftYiiDebugViewer #yiisoftCacheApcu #yiisoftYiiDataview #yiisoftLogTargetSyslog #yiisoftAuth #yiisoftDefinitions #yiisoftRbacPhp #yiisoftDataDb #yiisoftData #yiisoftRequestModel #yiisoftDi #yiisoftConfig #yiisoftRbacRulesContainer

Продолжаем заменять рабочие процессы на переиспользуемые из Yii GitHub Actions:

- Yii Access (PR)
- Yii Error Handler (PR)
- Yii Event Dispatcher (PR)
- Yii Factory (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Aliases (PR)
- Yii JSON (PR)
- Yii Profiler (PR)
- Yii Injector (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Mutex (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Network Utilities (PR)
- Yii Session (PR)
- Yii Router (PR)
- Yii Strings (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Request Body Parser (PR)
- Yii Translator gettext Message Storage (PR)
- Yii Message Extractor (PR)
- Yii Translator Simple Message Formatter (PR)
- Yii Message Translator (PR)
- Yii Translator intl Message Formatter (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii VarDumper (PR)
- Yii View Twig Renderer (PR)
- Yii Event (PR)
- Yii Translator PHP Message Storage (PR)
- Yii Data Response (PR)
- Yii Cache File Handler (PR)
- Yii Cookies (PR)
- Yii CSRF Protection Library (PR)
- Yii Assets (PR)
- Yii Auth JWT (PR)
- Yii Logging Library (PR)
- Yii Arrays (PR)
- Yii Filesystem (PR)
- Yii HTTP Application (PR)
- Yii HTTP Runner (PR)
- Yii Logging File Target (PR)
- Yii Logging Email Target (PR)
- Yii RoadRunner Runner (PR)
- Yii Security (PR)
- Yii Swagger (PR)
- Yii Sentry (PR)
- Yii Mutex File Driver (PR)
- Yii Middleware Dispatcher (PR)
🤯6👍5
⚡️ #yiisoftDi #yiisoftConfig

Улучшили производительность:

• в Yii Dependency Injection при получении объектов по тегу из композитного контейнера (PR);

• в Yii Config во время обработки модификаторов ReverseMerge и RecursiveMerge (PR).
👍3
#yiisoftDi #yiisoftFactory #yiisoftWidget #yiisoftYiiRunner #yiisoftYiiRunnerConsole #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner #yiisoftRbacRulesContainer #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.0.3

• Улучшена производительность при получении объектов по тегу из композитного контейнера.

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Factory 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Widget 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).

• В решение в дружественном исключении WidgetFactoryInitializationException добавлен пример инициализации WidgetFactory.


🎁 Yii Runner 1.1.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii Console Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii HTTP Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii RoadRunner Runner 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).


🎁 Yii RBAC Rules Container 1.0.1

• Добавлена поддержка yiisoft/definitions версии ^2.0 (PR).
🔥1
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.1.0

• Минимальная версия psr/container повышена до ^1.1|^2.0 (PR).
⚡️ #yiisoftDefinitions #yiisoftDi #yiisoftMiddlewareDispatcher

В CI добавили Rector, применили предлагаемые изменения, подняли минимальную версию PHP до ^8.0 и немного отрефакторили код в пакетах:
- Yii Definitions (PR),
- Yii Dependency Injection (PR),
- Yii Middleware Dispatcher (PR).
👍4
⚡️ #yiisoftDi

Yii Dependency Injection адаптировали к 3й версии Yii Definitions и обновили версии dev-зависимостей (PR).
👍3
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.2

• Код адаптирован к Yii Definitions версии 3, соответственно изменена требуемая версия зависимости yiisoft/definitions.

• Минимальная версия PHP увеличена до ^8.0.
👍4
⚡️ #yiisoftDi

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

• Исправили контейнер, передаваемый в делегаты: теперь передаётся не сам контейнер, а контейнер полученный по интерфейсу ContainerInterface (PR).

• Добавили новое исключение BuildingException с улучшенным сообщением об ошибке, которое выбрасывается при необработанной неудачной попытке создания объекта (PR).
👍3
#yiisoftDi #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.2.1

• Исправлена ошибка: в делегаты передавался неверный контейнер. Теперь передаётся не сам контейнер, а контейнер полученный по интерфейсу ContainerInterface.

• Добавлено новое исключение BuildingException с улучшенным сообщением об ошибке, которое выбрасывается при необработанной неудачной попытке создания объекта.
🔥5
⚡️ #yiisoftRbacRulesContainer #yiisoftDi #yiisoftDefinitions #yiisoftI18n

Обновили версию dev-зависимости rector/rector до ^0.15.2 в пакетах:

- Yii RBAC Rules Container (PR),
- Yii Dependency Injection (PR),
- Yii Definitions (PR),
- Yii Internationalization Library (PR).
👍3
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.3

• Добавлен шорткод TagReference::to() для тегов.

• Улучшено использование NotFoundException для случаев с дефинишенами.

• Выполнен небольшой рефакторинг для улучшения производительности контейнера.

• В методах ContainerConfig::withStrictMode() и ContainerConfig::withValidate() для параметра добавлено значение по умолчанию true.

• Минимальная версия PHP поднята до 8.1 и выполнен соответствующий рефакторинг.
👍32👾2
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.4

• Добавлен метод TagReference::id(), возвращающий идентификатор тега, по которому можно получить сервисы.

• Улучшена производительность контейнера.

• Параметр $config в конструкторе контейнера сделан опциональным.

• Исключения BuildingException и NotFoundException теперь реализуют FriendlyExceptionInterface.

• Ограничение версии PHP в composer.json изменено на 8.1 - 8.4.

• Для опциональных nullable-параметров явно прописан тип с null для совместимости с PHP 8.4.
👍4👾2