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

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

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

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

В Yii Proxy исправили ошибку при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов (PR).
🔥2
⚡️ #yiisoftDemo

В демо веб-приложения доработали меню выбора языка: теперь каждый пункт выводится на своём языке (PR).
👏4👍1
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.3

Подняли уровень статического анализа psalm до 1 (PR) и сделали патч-релиз.

• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются объединения типов, включающие null.

• Исправлена ошибка при создании прокси-объекта, в сигнатуре которого встречаются пересечения типов.

• Финализирован конструктор в классе ObjectProxy (PR).
🔥1
⚡️ #yiisoftDocs

В документации добавили соглашение о стиле кода для методов, вызываемых «цепочкой» (commit).
🔥2
#yiisoftProxy #ПатчРелиз #Релиз

🎁 Yii Proxy 1.0.4

Во вчерашнем релизе ошибочно финализировали конструктор в ObjectProxy. Переопределение конструктора используется в Yii Debug. Исправляемся.

• Удалена финализация конструктора в классе ObjectProxy (PR).
🔥3
⚡️ #yiisoftForm #yiisoftDemoApi

В модели формы Yii Form добавили возможность использовать атрибуты валидатора для указания правил валидации (PR).

Демо API-приложения адаптировали к этим изменениям (PR).
👍4