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

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

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

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

В раннерах добавили проверку существования групп конфигураций определений сервисов, сервис-провайдеров и делегатов при настройке DI-контейнера:

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

Явно прописали зависимость от yiisoft/config в пакетах:

Yii HTTP Runner (PR),
Yii Console 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).
#yiisoftConfig #МинорныйРелиз #Релиз

🎁 Yii Config 1.1.0

Добавили интерфейс ConfigInterface, позволяющий сделать свою реализацию загрузчика конфигураций:

interface ConfigInterface
{
public function get(string $group): array;
public function has(string $group): bool;
}


—————

⚡️ #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner

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

Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR).
👍1🔥1
⚡️ #yiisoftYiiRunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiRunnerRoadrunner

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

Yii Runner (PR),
Yii HTTP Runner (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR).
⚡️ #yiisoftYiiRunnerConsole

В пакете Yii Console Runner убрали всю инфраструктуру для мутационного и юнит-тестирования (зависимости, GitHub Actions, конфигурации), оставив только статический анализ.

Сделано это было в связи с тем, что в пакете остался только один класс, который с помощью метода run() запускает консольное приложение. Метод run() содержит конструкцию:

try {
...
} catch (Throwable $throwable) {
...
} finally {
...
exit();
}

И команда exit() не позволяет протестировать этот метод с помощью юнит-тестов.

В дальнейшем планируем добавить приёмочные тесты с помощью Codeception.
⚡️ #yiisoftYiiRunnerConsole

В пакете Yii Console Runner добавили приёмочные тесты с помощью Codeception (PR).
👍1
#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
⚡️ #yiisoftYiiRunnerConsole

Слегка улучшили doc-блоки в Yii Console Runner (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
#yiisoftYiiRunnerConsole #МинорныйРелиз #Релиз

🎁 Yii Console Runner 1.1.0

Обновили dev-зависимость codeception/codeception до версии ^5.0 (PR) и сделали минорный релиз.

• При запуске приложения добавлена передача объекта ArgvInput (PR).
👍2
⚡️ #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
⚡️ #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftRbacRulesContainer

Добавили проверку транзитивных зависимостей в пакетах:
- Yii HTTP Runner (PR),
- Yii Console Runner (PR),
- Yii RBAC Rules Container (PR, PR).
👍3
#yiisoftYiiRunnerConsole #ПатчРелиз #Релиз

🎁 Yii Console Runner 1.1.1

• В composer.json явно прописана зависимость от symfony/console.

• Добавлена поддержка yiisoft/definitions версии ^3.0 (PR).
👍3
⚡️ #yiisoftYiiRunnerConsole #yiisoftYiiRunnerHttp #yiisoftHtml #yiisoftYiiWidgets

Обновили dev-зависимости в 4х пакетах.

Yii HTML
- rector/rector до ^0.15.1 (PR).

Yii Console Runner
- vimeo/psalm до ^4.30|^5.2 (PR);
- rector/rector до ^0.15.1 (PR).

Yii HTTP Runner
- vimeo/psalm до ^4.30|^5.2 и roave/infection-static-analysis-plugin до ^1.25 (PR);
- rector/rector до ^0.15.1 (PR).

Yii Widgets
- rector/rector до ^0.15.1 (PR).
👍4
#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
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #МинорныйРелиз #Релиз

🎁 Yii HTTP Runner 2.2
🎁
Yii Console Runner 2.1

• Добавлена возможность указать дополнительные модификаторы конфигурации для приложения.
👍8👾3
#yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #ПатчРелиз #Релиз

🎁
Yii Console Runner 2.1.1

• Добавлена поддержка symfony/console версии ^7.0.
👾5👍4
#yiisoftYiiRunnerConsole #МинорныйРелиз #Релиз

🎁 Yii Console Runner 2.2

• Добавлена возможность указать путь к папкам vendor и config, а также расположение файла с планом слияния конфигурации (merge plan).
👍3👾1