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

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

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

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

В пакете Yii Cache DB Handler подчистили конфигурации GitHub Actions и scrutinizer, а также поправили настройки мутационного тестирования (PR).
🎁 #yiisoftMutex #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftMutexPdoOracle #yiisoftMutexPdoPgsql #yiisoftMutexRedis #МинорныйРелиз #Релиз

Минорный релиз Yii Mutex 1.1.0

• Добавлены два новых исключения MutexLockedException и MutexReleaseException, вызываемые вместо RuntimeException (PR)

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

Yii Mutex File Driver 1.1.0 (PR)
Yii Mutex MySQL PDO Driver 1.1.0 (PR)
Yii Mutex Oracle PDO Driver 1.1.0 (PR)
Yii Mutex PostgreSQL PDO Driver 1.1.0 (PR)
Yii Mutex Redis Driver 1.1.0 (PR)
⚡️ #yiisoftStrings

В пакете Yii Strings добавлен метод Inflector::toSnakeCase(), конвертирующий строку в "snake_case" (PR).

Спасибо Sameer S. R. Sood за PR 👍
⚡️ #yiisoftDbPgsql #yiisoftDbOracle

В юнит-тестах добавлена поддержка PHP 8.1 и немного подчищен код в пакетах:
- Yii DB PostgreSQL Extension (PR),
- Yii DB Oracle Extension (PR),
- Yii DB MSSQL Server Extension (PR).
⚡️ #yiisoftAppApi

В шаблоне API-приложения при изменении следующих файлов теперь не будут запускаться тесты в GitHub Actions (PR):

- docs/**
- README.md
- CHANGELOG.md
- .gitignore
- .env.example
- .gitattributes
⚡️ #yiisoftAliases

Немного упрощена конфигурация пакета Yii Aliases (PR).
⚡️ #yiisoftDbMssql

В пакете Yii DB MSSQL Server Extension доработаны тесты поддержки типа данных VARBINARY (PR).
⚡️ #yiisoftForm

В модели формы (пакет Yii Form) разрешено использование свойств без указания типа (PR).
⚡️ #yiisoftYiiDbMigration

В пакете Yii DB Migration адаптировали консольные команды к «ленивой» загрузке в консоли: описания команд были вынесены в статические свойства (PR).

Спасибо Александру Богатикову за PR 👍
⚡️ #yiisoftDemo

В демо веб-приложения максимальная длина полей Post::$title и Tag::$label уменьшена с 255 до 191 для обратной совместимости с MySQL (PR). Подробнее о проблеме в тикете.
⚡️ #yiisoftForm

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

Например: $form->csrf($token, 'csrf_parameter');
⚡️ #yiisoftYiiWeb

В мидлвари SubFolder (пакет Yii Web) добавлена возможность указать в конструкторе префикс и алиас, к которому этот префикс нужно добавить (PR).

Например:

new SubFolder($urlGenerator, $aliases, 'manage', '@baseUrl');
⚡️ #yiisoftYiiConsole

В консоли Yii Console при вызове исключения добавлен вывод стек-трейса (PR).
⚡️ #yiisoftDataDb

В пакете Yii Data DB добавлены фильтры и процессоры Any, Exists, GreaterThan, GreaterThanOrEqual, In, LessThan, LessThanOrEqual, Like, а также немного отрефакторен код (PR).
#yiisoftHtml #МинорныйРелиз #Релиз

🎁 Yii HTML 2.2.0

• В теге A добавлен метод nofollow(), добавляющий к тегу атрибут rel="nofollow" (PR).

• В виджетах RadioList и CheckboxList добавлен метод itemsFromValues(), позволяющий задать элементы списка, у которых название равно значению (PR).

• Добавлен третий опциональный аргумент $attributes, содержащий атрибуты тега, в методы (PR):

- Html::textInput(),
- Html::hiddenInput(),
- Html::passwordInput(),
- Html::fileInput(),
- Html::radio(),
- Html::checkbox(),
- Html::textarea().
⚡️ #yiisoftArrays

Небольшие изменения в аннотациях psalm в пакете Yii Arrays для более комфортного использования (PR).
#yiisoftCsrf #МинорныйРелиз #Релиз

🎁 Yii CSRF Protection Library 1.1.0

В мидлваре CsrfMiddleware добавлены новые методы getParameterName() и getHeaderName() (PR).
⚡️ #yiisoftYiiDbMigration

Продолжаем рефакторинг пакета Yii DB Migration (PR):
- опция useTablePrefix перенесена в CreateService;
- парсинг опции --fields консольной команды migrate/create переработан и выделен в отдельный класс FieldsParser.
⚡️ #yiisoftArrays

Исправлена ошибка в методе ArrayHelper::getValue() (пакет Yii Arrays): в некоторых случаях возвращалось некорректное значение, если требуемый ключ не существует в массиве, значение по умолчанию является массивом (PR).
#yiisoftYiiView #МажорныйРелиз #Релиз

🎁 Yii View Extension 4.0.0

Инъекция CSRF вместо токена теперь добавляет объект CSRF с методами (PR):

- getToken() возвращает токен;

- getParameterName() возвращает имя параметра из мидлвари CsrfMiddleware;

- getHeaderName() возвращает имя заголовка из мидлвари CsrfMiddleware;

- hiddenInput() возвращает тег Input с установленными атрибутами type (hidden), name (имя параметра), value (токен);

- __toString() для преобразования в строку (возвращается токен).

⚡️ #yiisoftDemo #yiisoftApp #yiisoftYiiSwagger

Соответствующие изменения внесены в демо веб-приложения (PR), шаблон веб-приложения и пакет Yii Swagger.
⚡️ #yiisoftForm

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