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

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

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

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

Почистили код и внесли изменения в Yii Console (PR, PR):

- в приложении (Application) диспетчер событий сделан опциональным, а его установка перенесена из конструктора в метод setDispatcher();
- обновлены dev-зависимости;
- добавлены тесты;
- в тестах вместо yiisoft/di теперь используется пакет yiisoft/test-support;
- улучшены конфигурация GitHub Workflow и другие служебные файлы.

Адаптационные изменения внесены в демо веб-приложения (PR).
⚡️ #yiisoftRouter

Теперь роутер (пакет Yii Router) автоматически отвечает на запросы OPTIONS в том же источнике со статусом 204, ранее отвечал 405 Method not allowed (PR).

Это поведение можно отключить с помощью метода withoutAutoResponseOptions().
⚡️ #yiisoftMiddlewareDispatcher

Диспетчер событий в Yii Middleware Dispatcher сделан опциональным (PR).
⚡️ #yiisoftVarDumper

В пакете Yii VarDumper добавлен метод VarDumper::withOffset(), позволяющий задать строку, которая будет использоваться для вложенности кода (PR).

С помощью нового метода можно заменить 4 пробела, используемые по умолчанию, на 2 пробела или табы или любую другую строку.

Спасибо Антону @WinterSilence за PR 👍
⚡️ #yiisoftYiiSwagger #yiisoftDemo #yiisoftDemoApi

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

По умолчанию включена параметр persistAuthorization. Полный список параметров доступен в документации Swagger.

Соответствующие изменения внесены в демо веб-приложения (PR) и демо API-приложения (PR).

Спасибо Алексею Черноусову за PR 👍
⚡️ #yiisoftPackageTemplate

В пакете-шаблоне Yii Package Template в конфигурации процессов GitHub добавлены файлы-исключения, при изменении которых процессы запускаться НЕ будут (PR).

Это такие файлы, как README.md, CHANGELOG.md, .gitignore и т. д.
⚡️ #yiisoftYiiDebug

Исправления и улучшения в Yii Debug:

• исправлена ошибка при сборе запросов в случае возникновения внутренней ошибки сервера (PR);

• из зависимостей удалили пакет yiisoft/composer-config-plugin (PR);

• поправили тесты (PR).
⚡️ #yiisoftForm

Улучшения в пакете Yii Form:

• в методе Form::csrf() добавили поддержку CSRF-токена в виде`Stringable`-объекта (PR);

• доработали виджет CheckboxList и добавили подробную документацию по нему (PR);

• доработали виджет RadioList и добавили подробную документацию по нему (PR);

• почистили код тестов (PR).
⚡️ #yiisoftTranslatorExtractor #yiisoftDemo

В пакете Yii Message Extractor изменили пространство имён с Yiisoft\Translator\Extractor на Yiisoft\TranslatorExtractor (PR).

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