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

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

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

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

Создали новый пакет Yii Validator Rules Container, который будет предоставлять контейнер правил валидации для валидатора Yii Validator.
⚡️ #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
#yiisoftLog #МажорныйРелиз #Релиз

🎁 Yii Logging Library 2.0.0

• Подняли версию PSR-интерфейса с ^1.0 до ^2.0|^3.0, что позволило улучшить типизацию в коде. Также пришлось поднять минимальную требуемую версию PHP до ^8.0 (PR).
#yiisoftInjector #ПатчРелиз #Релиз

🎁 Yii Injector 1.0.5

• Добавили поддержку синтаксиса PHP 8.1 при выводе сигнатуры анонимных функций в исключениях (PR).

• Добавили декларацию о возвращаемом типе в методе Injector::make() и улучшили psalm-аннотации.
#yiisoftProfiler #ПатчРелиз #Релиз

🎁 Yii Profiler 1.0.3

• Добавлена поддержка PSR-интерфейса версий 2 и 3 (PR).
👍1
⚡️ #yiisoftDocs

В документации добавили новое соглашение: в composer.json в качестве логического оператора ИЛИ в диапазонах версий должна использоваться одиночная вертикальная черта | (PR).
🎉4
⚡️ #yiisoftInjector

В Yii Injector добавили поддержку аргументов с пересечением типов, появившемся в PHP 8.1 (PR).
⚡️ #yiisoftFiles

Сделали небольшой рефакторинг в пакете Yii Files: методы, вызываемые «цепочкой», перенесли на новую строку (PR).
#yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftLogTargetSyslog #МинорныйРелиз #Релиз

Минорные релизы целей логов для библиотеки Yii Logging:

🎁 Yii Logging Email Target 3.1.0 (PR)
🎁 Yii Logging File Target 1.1.0 (PR)
🎁 Yii Logging Syslog Target 1.1.0 (PR)

• Минимальная версия yiisoft/log поднята до ^2.0.

• Минимальная версия PHP поднята до ^8.0.
⚡️ #yiisoftErrorHandler

Изменена логика прекращения работы скрипта в Yii Error Handler при возникновении исключения: вместо прямого вызова exit(1), теперь этот вызов регистрируется с помощью register_shutdown_function() (PR):

register_shutdown_function(static function (): void {
exit(1);
});


Подробнее о предпосылках такого решения можно почитать в PR #19401 в Yii2.
⚡️ #yiisoftYiiDbMigration

Немного подчистили код, улучшили описание в readme и обновили конфигурации GitHub Actions в пакете Yii DB Migration (PR).
⚡️ #yiisoftValidatorRulesContainer #yiisoftValidatorRuleHandlerContainer

Реализовали контейнер правил валидации Yii Validator Rule Handler Container и переименовали пакет из yiisoft/validator-rules-container в yiisoft/validator-rule-handler-container (PR).
⚡️ #yiisoftErrorHandler

Несколько улучшений в Yii Error Handler (PR):
- добавили событие ApplicationError, возникающее после обработки ошибки перед завершением работы приложения;
- добавили восстановление текущей директории на момент возникновения события ApplicationError.
⚡️ #yiisoftValidator

В пакете Yii Validator добавили более подробное описание конфигурации правила Nested (PR).
⚡️ #yiisoftDataDb

Много доработок в Yii Data DB (PR):
- добавлен фильтр IsNull;
- добавлена поодержка DateTimeInterface в качестве значений;
- вместо класса Query теперь используется интерфейс QueryInterface;
- метод QueryDataReader::prepareQuery() переименован в getPreparedQuery() и сделан публичным;
- финализированы классы процессоров;
- добавлены новые тесты.
⚡️ #yiisoftForm #yiisoftYiiBulma #yiisoftYiiBootstrap5 #yiisoftDemo

Закончили большой рефакторинг пакета Yii Form (PR):

• Явно выделили фабрику для создания полей, которая позволяет применять ко всем полям общую конфигурацию.

• Сделали хелпер Field со статическими методами для создания полей форм и возможностью одновременно использовать в приложении несколько общих конфигураций для полей.

Адаптировали к этим изменениям демо веб-приложения (PR) и конфигурации в пакетах Yii Bulma (PR) и Yii Bootstrap 5 (PR).
👍2
⚡️ #yiisoftDi #yiisoftConfig

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

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

• в Yii Config во время обработки модификаторов ReverseMerge и RecursiveMerge (PR).
👍3
⚡️ #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftHttp #yiisoftI18n #yiisoftLog #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftMailerSymfony #yiisoftMiddlewareDispatcher #yiisoftMutexPdoOracle #yiisoftMutexRedis #yiisoftRbac #yiisoftRbacDb #yiisoftRbacPhp #yiisoftRequestBodyParser #yiisoftRateLimiter #yiisoftProxy #yiisoftProfiler #yiisoftMutexPdoPgsql #yiisoftMutexPdoMysql #yiisoftMailerSwiftmailer #yiisoftHtml #yiisoftRequestModel #yiisoftRequirements #yiisoftRouter #yiisoftRouterFastroute #yiisoftSession #yiisoftStrings #yiisoftTestSupport #yiisoftTranslator #yiisoftTranslatorMessageDb #yiisoftUser #yiisoftView #yiisoftViewTwig #yiisoftWidget #yiisoftYiiConsole

Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку:

- Yii Mailer Library (PR)
- Yii Logging Syslog Target (PR)
- Yii HTTP (PR)
- Yii Internationalization Library (PR)
- Yii Logging Library (PR)
- Yii Logging DB Target (PR)
- Yii Logging Email Target (PR)
- Yii Mailer Symfony Mailer Extension (PR)
- Yii Middleware Dispatcher (PR)
- Yii Mutex Oracle PDO Driver (PR)
- Yii Mutex Redis Driver (PR)
- Yii Role-Based Access Control (PR)
- Yii RBAC Database (PR)
- Yii RBAC PHP File Storage (PR)
- Yii Request Body Parser (PR)
- Yii Rate Limiter Middleware (PR)
- Yii Proxy (PR)
- Yii Profiler (PR)
- Yii Mutex PostgreSQL PDO Driver (PR)
- Yii Mutex MySQL PDO Driver (PR)
- Yii Mailer SwiftMailer Extension (PR)
- Yii HTML (PR)
- Yii Request Model (PR)
- Yii Requirements Checker (PR)
- Yii Router (PR)
- Yii Router FastRoute Adapter (PR)
- Yii Session (PR)
- Yii Strings (PR)
- Yii Test Support (PR)
- Yii Message Translator (PR)
- Yii Translator DB Message Storage (PR)
- Yii User (PR)
- Yii View (PR)
- Yii View Twig Renderer (PR)
- Yii Widget (PR)
- Yii Console (PR)
🔥4👍3