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

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

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

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #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)
⚡️ #yiisoftYiiQueue

В пакете Yii Queue подняли минимальную требуемую версию PHP до ^8.0 и psr/log до ^2.0|^3.0 (PR), а также добавили тесты воркера (PR).
👍2👎1
⚡️ #yiisoftYiiDevTool

В Yii Development Tool заменили зависимость cpliakas/git-wrapper, разработка которой была прекращена, на symplify/git-wrapper (PR).
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner #МинорныйРелиз #Релиз

🎁 Yii HTTP Runner 1.1.0

• Повышена минимальная требуемая версия зависимостей (PR):
- yiisoft/log до ^2.0,
- yiisoft/log-target-file до ^1.1,
- yiisoft/error-handler до ^2.1.


🎁 Yii RoadRunner Runner 1.1.0

• Повышена минимальная требуемая версия зависимостей (PR):
- yiisoft/log до ^2.0,
- yiisoft/log-target-file до ^1.1,
- yiisoft/error-handler до ^2.1.
👍2
⚡️ #yiisoftDemo

Несколько улучшений в демо веб-приложения.

• Упростили конфигурацию класса Application (PR).

• Добавили консольную команду fixture/schema/clear, которая удаляет все записи в таблицах БД (PR).

• Добавили альтернативный маршрут /backend для доступа к бэкенду (PR).
👍5
⚡️ #yiisoftYiiRunner

В пакете Yii Runner подняли версию dev-зависимости yiisoft/test-support до ^2.0 (PR).
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite #yiisoftActiveRecord

Сделали серьёзный рефакторинг DB-пакетов, практически переписали их:

- Yii DB
- Yii DB MSSQL Server Extension
- Yii DB MySQL Extension
- Yii DB Oracle Extension
- Yii DB PostgreSQL Extension
- Yii DB SQLite Extension
- Yii Active Record

В процессе рефакторинга:

- вынесли из кода зависимости от PDO;
- выделили и сегрегировали интерфейсы;
- исправили ошибки;
- уменьшили сложность кода;
- повысили уровень типизации;
- уровень Psalm повысили до 1;
- покрытие тестами увеличили до 90%.

В связи с тем, что изменениями было задето практически 100% кода и сложности объединения веток, сделали внесение изменение не через PR, а с помощью переименования ветки master в old-master, а dev (ветка в которой проходил рефакторинг) в master.

Пакеты Yii DB Redis Extension и Yii DB MongoDB Extension в рефакторинге не участвовали и на текущий момент находятся в не рабочем состоянии, так как перестали соответствовать интерфейсам из Yii DB.
🔥6👍2
⚡️ #yiisoftFiles

В хелпере Yii Files добавили функции обратного вызова beforeCopy и afterCopy для методов FileHelper::copyFile() и FileHelper::copyDirectory() (PR).
⚡️ #yiisoftDb

В пакете Yii DB подняли версии зависимостей (PR):
- psr/log до ^2.0|^3.0,
- yiisoft/log до ^2.0,
- yiisoft/profiler до ^1.0.3.
⚡️ #yiisoftDb #yiisoftDbMssql #yiisoftDbMysql #yiisoftDbOracle #yiisoftDbPgsql #yiisoftDbSqlite

Несколько улучшений в Yii DB (PR):

- в интерфейсе ConnectionInterface заменили метод getDriverName() на getDriver(), который возвращает экземпляр PDODriverInterface;

- в классе Dsn добавили методы getDatabaseName(), getHost() и getPort().

Соответствующие изменения сделаны в пакетах:
- Yii DB MSSQL Server Extension (PR)
- Yii DB MySQL Extension (PR)
- Yii DB Oracle Extension (PR)
- Yii DB PostgreSQL Extension (PR)
- Yii DB SQLite Extension (PR)
⚡️ #yiisoftDbMysql

Исправили ошибку при экранировании строк в Yii DB MySQL Extension: теперь символ _ не экранируется (PR).
👍2