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

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

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

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

В Yii Request Model добавили возможность в обработчике использовать атрибуты для получения данных из запроса (PR). Например:

final class SimpleController
{
public function action(
#[Route('id')] int $id,
#[Request('foo')] $attribute,
): ResponseInterface {
echo $id;
//...
}
}


Доступные атрибуты: Body, Query, Request, Route и UploadedFiles.
🔥72
⚡️ #yiisoftRequestModel

В Yii Request Model немного порефакторили существующие тесты и добавили новых (PR).
🔥2
⚡️ #yiisoftRequestModel

Yii Request Model адаптировали к последней версии yiisoft/middleware-dispatcher (PR).
⚡️ #yiisoftRequestModel

В Yii Request Model обновили версию dev-зависимости yiisoft/test-support до ^3.0 (PR).
⚡️ #yiisoftRequestModel

В readme пакета Yii Request Model добавили информацию о подключении мидлвари (PR).
⚡️ #yiisoftRequestModel

Несколько улучшений в Yii Request Model.

• Подняли минимальную требуемую версию yiisoft/translator до ^2.0 и адаптировали тесты к последним изменениям в валидаторе (PR).

• Добавили поддержку yiisoft/middleware-dispatcher версии ^4.0, а также в CI добавили проверку транзитивных зависимостей (PR).

• В CI добавили Rector, применили предлагаемые изменения (PR).

• Немного подчистили код и добавили секцию с требованиями в readme (PR).
🔥2
⚡️ #yiisoftYiiDataview #yiisoftYiiGii #yiisoftRequestModel

Добавили поддержку yiisoft/router версии ^2.0 в пакетах:
- Yii Data Widgets (PR),
- Gii (PR),
- Yii Request Model (PR).
👍2
⚡️ #yiisoftValidator #yiisoftDemo #yiisoftYiiMiddleware #yiisoftRequestModel #yiisoftForm #yiisoftYiiDebug #yiisoftYiiGii

Несколько обновлений в Yii Validator.

• Добавили возможность переводить названия атрибутов (PR).

• В правиле Required к сообщениям добавили параметр "attribute" (PR).

• Перенесли классы (PR):
RulesDumperYiisoft\Validator\Helper
RuleHandlerContainer
Yiisoft\Validator\RuleHandlerResolver
SimpleRuleHandlerContainer
Yiisoft\Validator\RuleHandlerResolver

К последним изменениям адаптировали:
- Демо приложений (PR),
- Yii Middleware (PR),
- Yii Request Model (PR),
- Yii Form (PR),
- Yii Debug (PR),
- Gii (PR).
👍5
#yiisoftRequestModel

Пакет Yii Request Model закрыт.

Предыстория

В пакетах Yii Request Model и Yii Form существовал функционал для создания и наполнения объектов. Каждый из пакетов делал это по своему.

В связи с этим в рамках отдельного пакета был написан Yii Hydrator, который умеет создавать и наполнять объекты. Также гидратор поддерживает настраиваемое приведение типов, PHP-атрибуты и разрешение зависимостей.

Дополнительно в отдельном пакете Yii Validating Hydrator создан валидирующий гидратор. По факту это декоратор над обычным гидратором, который выполняет валидацию после создания и наполнения объекта.

И, наконец, написан пакет Yii Input HTTP, который предоставляет дополнения к Yii Hydrator и Yii Middleware Dispatcher:

• модель запроса;
• атрибуты для гидратора, позволяющие получать данные из объекта запроса (Query, Body, UploadedFiles и т. д.);
• возможность использовать атрибуты гидратора для наполнения параметров в экшенах.

Таким образом функционал пакета Yii Request Model распределился по новым пакетам. А также мы получили PHP-атрибуты (Query, Body, UploadedFiles и т. д.), которые могут быть использованы:

• в параметрах экшена;
• внутри любого объекта при наполнении гидратором, в том числе и в моделях запроса или формы.
🔥8🎉21🤔1😢1🍾1