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

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

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

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

Создан новый пакет Yii Runner, в который вынесен общий код, необходимый для запуска любого приложения:

- класс BootstrapRunner, для запуска bootstrap-кода;

- фабрика ConfigFactory для создания экземпляра класса Yiisoft\Config\Config;

- класс ThrowableHandler, реализующий RequestHandlerInterface, это обёртка исключения для его выброса в мидлвари обработчика ошибок;

- интерфейс RunnerInterface для скрытия деталей запуска приложения.

Также созданы три новых пакета с реализациями интерфейса RunnerInterface для запуска приложений соответствующего типа:

- Yii Console Runner,
- Yii Web Runner,
- Yii RoadRunner Runner.
⚡️ #yiisoftConfig #yiisoftYiiRunnerRoadrunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunner

В Yii Config добавлена опция build-merge-plan в composer-плагине, позволяющая отключить автоматическое создание мёрж-плана (PR). Опция работает только для корневого пакета.

Пример:

"extra": {
"config-plugin-options": {
"build-merge-plan": false
}
},


Эта опция добавлена в раннерах:

Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii Runner (PR).
⚡️ #yiisoftYiiRunner #yiisoftYiiHttp #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner

Класс ThrowableHandler перенесён из пакета Yii Runner (PR) в пакет Yii HTTP Application (PR).

Необходимые изменения внесены в пакеты Yii HTTP Runner (PR) и Yii RoadRunner Runner (PR).
⚡️ #yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner #yiisoftApp #yiisoftDemo #yiisoftAppApi

ConfigFactory из пакета Yii Runner теперь принимает в качестве первого аргумента объект Yiisoft\Config\ConfigPaths вместо абсолютного пути к корню проекта, что позволит при необходимости дополнительно указать пути к папке с конфигурацией приложения и к папке vendor (PR).

Соответствующие изменения внесены в пакеты и приложения:

Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR),
Шаблон API-приложения (PR).
⚡️ #yiisoftYiiRunner

Обновили зависимости, сделали небольшой рефакторинг и "причесали" служебные файлы в пакете Yii Runner (PR).
⚡️ #yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner

Общую функциональность классов для запуска приложений вынесли в отдельный абстрактный класс \Yiisoft\Yii\Runner\ApplicationRunner:

Yii Runner (PR),
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR).
#yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #ПервыйРелиз #МажорныйРелиз #Релиз

🎁 Yii Runner 1.0.0
🎁 Yii HTTP Runner 1.0.0
🎁 Yii Console Runner 1.0.0

Раннеры позволяют упростить процесс настройки приложения, скрывая детали инициализации. Например, вместо довольно сложной инициализации, в точке входа в HTTP-приложение достаточно простого кода:

<?php

declare(strict_types=1);

use Yiisoft\Yii\Runner\Http\HttpApplicationRunner;

require_once __DIR__ . '/autoload.php';

(
new HttpApplicationRunner(
__DIR__,
$_ENV['YII_DEBUG'],
$_ENV['YII_ENV']
)
)->run();


Вместе с основным пакетом зарелизили адаптеры для консольного и HTTP-приложения. Релиз адаптера для RoadRunner (Yii RoadRunner Runner) будет чуть позже.
🎉7
#yiisoftYiiRunner #МинорныйРелиз #Релиз

🎁 Yii Runner 1.1.0

• Добавлена поддержка тегов контейнера в конфигурации приложения (PR, PR).
👍4
#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
⚡️ #yiisoftYiiRunner

В пакете Yii Runner подняли версию dev-зависимости yiisoft/test-support до ^2.0 (PR).
#yiisoftYiiRunner #ПатчРелиз #Релиз

🎁 Yii Runner 1.1.2

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

🎁 Yii Runner 1.2.0

• В конфигурацию контейнера добавлен дефинишен для ConfigInterface в виде объекта конфигурации (PR).
👍1
⚡️ #yiisoftValidator #yiisoftYiiSentry #yiisoftYiiSwagger #yiisoftYiiRunnerRoadrunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiHttp #yiisoftYiiRunner

В GitHub Actions добавили конфигурацию для запуска Rector и применили предлагаемые изменения:

- Yii Validator (PR),
- Yii Sentry (PR),
- Yii Swagger (PR),
- Yii RoadRunner Runner (PR),
- Yii HTTP Runner (PR),
- Yii Console Runner (PR),
- Yii HTTP Application (PR),
- Yii Runner (PR).
🔥4
⚡️ #yiisoftDemoApi #yiisoftYiiRunner

Обновили зависимости:

- в демо API-приложения doctrine/collections до версии ^2.0 (PR);

- в пакете Yii Runner yiisoft/test-support до версии ^3.0 (PR).
👍2
#yiisoftYiiRunner #ПатчРелиз #Релиз

В CI добавили проверку транзитивных зависимостей (PR) и сделали патч-релиз.

🎁 Yii Runner 1.2.1

• Добавлена поддержка yiisoft/definitions версии ^3.0 (PR).
👍5
⚡️ #yiisoftYiiHttp #yiisoftYiiRunner

Добавили проверку транзитивных зависимостей в CI пакетов:
- Yii HTTP Application (PR, PR);
- Yii Runner (PR).
👍3
#yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner #МажорныйРелиз #Релиз

🎁 Yii Runner 2.0
🎁 Yii HTTP Runner 2.0
🎁 Yii Console Runner 2.0
🎁 Yii RoadRunner Runner 2.0

• Раннеры адаптированы к соглашению Yii об именах групп конфигураций.

• Добавлена возможность указания имён групп конфигураций.

• Параметры "environment" и "debug" сделаны опциональными.

• Добавлен параметр "checkEvents".

😎 Релизы подготовили Сергей Предводителев, Рустам Мамадаминов и Александр Макаров.
👍311
#yiisoftYiiRunner #МинорныйРелиз #Релиз

🎁 Yii Runner 2.1

• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
👍8👾2