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

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

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

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

В демо веб-приложения улучшили вывод консольной команды router/list (PR).
👍5🔥4
⚡️ #yiisoftForm

Небольшой рефакторинг в Yii Form: приватное свойство attributes в модели формы FormModel переименовано в attributeTypes (PR).
👍3
⚡️ #yiisoftDemo

Рефакторинг в демо веб-приложения: перенесли приватные свойства классов в конструктор (PR).
🔥4
#yiisoftMiddlewareDispatcher #МинорныйРелиз #Релиз

🎁 Yii Middleware Dispatcher 2.1.0

• Добавлена поддержка массивов для конфигурации мидлварей (см. описание синтаксиса). Например:

$dispatcher = $dispatcher->withMiddlewares([
[
'class' => MyMiddleware::class,
'__construct()' => [
'someVar' => 42,
],
],
]);


• Для исключения InvalidMiddlewareDefinitionException реализован интерфейс дружественного исключения с описанием решения проблемы.
👍3
⚡️ #yiisoftYiiCycle

Немного "причесали" readme пакета Yii Cycle ORM и исправили ссылки на RoadRunner (PR).
👍2
⚡️ #yiisoftYiiQueue

В пакете Yii Queue подняли версию dev-зависимости yiisoft/test-support до ^3.0 (PR).
⚡️ #yiisoftDemo

В демо веб-приложения контактная форма подготовлена для загрузки нескольких файлов (PR).
🔥3
⚡️ #yiisoftDemo

Добавили словацкий язык в демо веб-приложения (PR).
🤔3😱1
⚡️ #yiisoftValidator

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

- Удалили исключение MissingAttributeException. Теперь при попытке получения значения не существующего свойства вместо исключения будет возвращаться null (PR).

- Упростили валидацию объектов, реализующих DataSetInterface и использующих атрибуты (PR).
🔥2
⚡️ #yiisoftForm

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

- Вместо использования метода Rule::getOptions() для получения опций используются соответствующие геттеры правила, например, HasLength::getMin() или Regex::getPattern() (PR).

- Для методов button(), resetButton() и submitButton() класса Field в качестве первого аргумента добавлен ?string $content = null, что позволит вместо Field::submitButton()->content('Create'); использовать более простой код Field::submitButton('Create'); (PR).
🔥1
⚡️ #yiisoftProfiler

Исправили ошибку в конфигурации пакета Yii Profiler, некорректно использовалась переменная $params (PR).
🔥1
⚡️ #yiisoftVarDumper

В Yii VarDumper добавили метод VarDumper::asJson(), позволяющий получить дамп в виде JSON (PR).
3
⚡️ #yiisoftValidator

В Yii Validator добавили правило IsTrue (PR).

Новое правило может быть полезно, например, для форм с полем, подтверждающим согласие пользователя с политикой конфиденциальности.
🔥5
⚡️ #yiisoftYiiDebugViewer

В Yii Debug Viewer добавили панель с информацией об очередях (PR).
🔥31
🌿 #Полезное

Когда приходит время принести в инфраструктуру проекта новый инструмент - как сделать выбор среди нынешнего многообразия? Что подойдет лучше именно в вашем случае?
Простой план выбора подходящего инструмента с разбором и примером из жизни в виде выбора сервера очередей в статье Виктора Бабанова, одного из core-разработчиков YiiSoft.
👍32💩1
⚡️ #yiisoftCacheDb

Изменили логику обработки неудачной записи/чтения данных в Yii Cache DB Handler: теперь вместо выброса исключения отправляется сообщение в логгер (PR).
🔥5
⚡️ #yiisoftProxy

В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null (PR).
🔥2
⚡️ #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
⚡️ #yiisoftCacheDb

В Yii Cache DB Handler подняли используемую версию PSR-интерфейсов psr/simple-cache до ^2.0|^3.0 и уровень psalm увеличили до 1 (PR).
🔥2
⚡️ #yiisoftPackageTemplate

В шаблоне Yii Package Template в .editorconfig добавили несколько PhpStorm-специфичных правил (PR).

ij_php_space_before_short_closure_left_parenthesis = true
Добавлять пробел после fn в стрелочных функциях, например fn () => ....

ij_php_space_after_type_cast = true
Добавлять пробел после приведения типа, например (string) $var.
👍4