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

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

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

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

В пакете Yii Error Handler добавили поддержку markdown при выводе решений из дружественных исключений (PR).
🔥11
⚡️ #yiisoftForm

В пакете Yii Form у полей для части шаблона {input} (сам элемент формы) добавлен тег-контейнер (PR).

Это полезно при использовании некоторых CSS-фреймворков, например, Bulma:

<div class="field">
<label class="label">Name</label>
<div class="control"> // <-- Начало контейнера
<input class="input" type="text" placeholder="Text input">
</div> // <-- Конец контейнера
</div>
👍2
⚡️ #yiisoftForm

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

• изменили тип данных, передаваемых в FormModel::load() с array на array|object|null, так как данные именно такого типа возвращает метод Psr\Http\Message\ServerRequestInterface::getParsedBody(), который чаще всего используется для заполнения формы (PR);

• добавили возможность указать специальные классы для элементов форм, которые будут добавляться в случае успешной/не успешной валидации поля (PR);

• в документации актуализировали статью «Создание форм» (PR).
👍3
⚡️ #yiisoftMiddlewareDispatcher

В пакете Yii Middleware Dispatcher исключение InvalidMiddlewareDefinitionException сделали дружественным (PR).
🔥 #Новости

Виктор Бабанов из core-команды Yii3 завёл личный блог, где планирует рассказывать интересные вещи о разработке, о процессах в IT-компаниях, о нас, разработчиках, и о технических нюансах (использовании паттернов, лайфхаках и так далее).

Подписывайтесь, будет интересно! А Виктору удачи и упорства в этом начинании 💪

🌿 Адрес сайта: https://viktorprogger.name/ru/
🌿 Группа для обсуждения: @viktorprogger_blog
👍17🎉1🤮1
⚡️ #yiisoftValidator

Сделали важный рефакторинг в Yii Validator, разделив правила на собственно само правило и обработчик правила (PR).

Такой подход позволит автоматически разрешать зависимости обработчика правила (например, правило, которому для проверки требуется подключение к БД).

#yiisoftForm #yiisoftRequestModel #yiisoftYiiMiddleware #yiisoftYiiDebugApi #yiisoftDemoApi

Адаптировали к изменениям в валидаторе пакеты и приложения:

- Yii Form (PR)
- Yii Request Model (PR)
- Yii Middleware (PR)
- Yii Debug API (PR)
- Демо API-приложения (PR)
⚡️ #yiisoftDefinitions

Несколько изменений в Yii Definitions (PR):

• метод DefinitionValidator::validateArrayDefinition() сделан публичным;

• удалён метод ParameterDefinition::isBuiltin().
#yiisoftUser #ПатчРелиз #Релиз

🎁 Yii User 1.0.1

• Добавлена поддержка psr/log версий ^2.0 и ^3.0 (PR).
👍4
#yiisoftErrorHandler #МинорныйРелиз #Релиз

🎁 Yii Error Handler 2.1.0

• Добавлено событие ApplicationError, возникающее после обработки ошибки перед завершением работы приложения.

• Добавлено восстановление текущей директории на момент возникновения события ApplicationError.

• Добавлена поддержка markdown при выводе решений из дружественных исключений.

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

• Добавлена поддержка psr/log версий ^2.0 и ^3.0 (PR).
👍3
#yiisoftCookies #ПатчРелиз #Релиз

🎁 Yii Cookies 1.2.1

• Требуемая версия пакета yiisoft/http повышена до ^1.2.

• Добавлена поддержка psr/log версий ^2.0 и ^3.0 (PR).
#yiisoftAssets #ПатчРелиз #Релиз

🎁 Yii Assets 2.0.1

• Добавлена поддержка psr/log версий ^2.0 и ^3.0 (PR).
👍1
⚡️ #yiisoftDocs

Во внтуренней документации добавили новое соглашение по логу изменений: теперь имена авторов будут указываться с @ и, соответственно, на GitHub будут отображаться ссылками на профиль (PR).
⚡️ #yiisoftForm

Несколько улучшений и исправлений в Yii Form.

• Если у правила валидации поля задана опция when, то теперь такое правило не будет использоваться для автоматического добавления атрибутов к элементам форм (PR).

• У полей с полями для ввода добавлены методы inputContainerClass() и addInputContainerClass() (PR).

• Сделали изменения в стили кода. Методы, вызываемые «цепочкой», перенесли на новую строку (PR).
#yiisoftTestSupport #МажорныйРелиз #Релиз

🎁 Yii Test Support 2.0.0

• Поддержка psr/log повышена до версий ^2.0 и ^3.0 , а также минимальная версия PHP изменена на ^8.0 (PR).
#yiisoftDefinitions #МажорныйРелиз #Релиз

🎁 Yii Definitions 2.0.0

• Метод DefinitionValidator::validateArrayDefinition() сделан публичным.

• Удалён метод ParameterDefinition::isBuiltin().

• В дефинишене ArrayDefinition метод setReferenceContainer() сделан иммутабельным и переименован в withReferenceContainer() (PR).
#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
⚡️ #yiisoftYiiQueue #yiisoftValidatorRuleHandlerContainer

В пакетах Yii Queue (PR) и Yii Validator Rule Handler Container (PR) добавлена поддержка yiisoft/definitions версии ^2.0.
⚡️ #yiisoftYiiQueue #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner

Исправлены ошибки в конфигурациях процессов GitHub Actions в пакетах:
- Yii Queue (PR)
- Yii HTTP Runner (PR)
- Yii RoadRunner Runner (PR)
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi

Минимальная требуемая версия пакета yiisoft/definitions повышена до ^2.0 в шаблонах и демо-приложениях:
- Шаблон веб-приложения (PR)
- Шаблон API-приложения (PR)
- Демо веб-приложения (PR)
- Демо API-приложения (PR)
🌿 #Полезное

Два типа классов для вашего проекта, Виктор Бабанов

Как свести хаос кода в проекте к... меньшему хаосу. В большинстве случаев можно оставить только два типа классов: сервисы и DTO. Статья о том, каких правил следует придерживаться при их проектировании, чтобы избежать превращения проекта в "big ball of mud".
👍5
⚡️ #yiisoftHtml #yiisoftAuthJwt #yiisoftRouter #yiisoftLog

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

- Yii HTML (PR)
- Yii Auth JWT (PR)
- Yii Router (PR)
- Yii Logging Library (PR)