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

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

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

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

В пакете Yii Form удалили виджет Radio, так как радиокнопки всегда используются в группе, а для этого есть RadioList (PR).
⚡️ #yiisoftHtml

В Yii HTML добавили параметр $attributes (атрибуты тега) в методы Html::input(),Html::buttonInput(), Html::submitInput() и Html::resetInput() (PR).
⚡️ #yiisoftValidator

Продолжаем работу над валидатором Yii Validator:

• добавили в код типизацию mixed и функцию get_debug_type() вместо конструкции is_object() ? get_class() : gettype() (PR);

• описали использование атрибутов с трейтами и добавили соответствующие тесты (PR);

• выполнили рефакторинг тестов (PR).
⚡️ #yiisoftYiiBootstrap5

В пакете Yii Bootstrap 5 у виджета Accordion добавлена поддержка Stringable-объектов для содержимого элементов аккордеона (PR).
⚡️ #yiisoftDocs

В документации зафиксировали соглашение об использовании атрибутов PhpStorm (PR).

Атрибуты PhpStorm МОГУТ использоваться в коде, но пакет jetbrains/phpstorm-attributes ДОЛЖЕН быть добавлен как dev-зависимость.
⚡️ #yiisoftDemo

В демо веб-приложения подняли версию PSR-контейнера до ^1.1 и начали использовать стабильную версию Yii RBAC (PR).
👍3
⚡️ #yiisoftData

Несколько улучшений в Yii Data (PR):

• в сортировке добавили метод Sort::withoutDefaultSorting(), позволяющий отключить использование настроек сортировки по умолчанию;

• финализировали классы процессоров.
⚡️ #yiisoftValidator

Ещё партия доработок валидатора Yii Validator.

• Добавили новое правило Count, проверяющее количество элементов в массиве или объекте, реализующем интерфейс Countable (PR).

• При использовании атрибутов добавили возможность комбинировать правило Each с другими правилами (PR).

• Метод Result::addError() теперь возвращает сам объект результата валидации, что позволяет использовать цепочки вызова метода (PR).

• Добавили недостающие элементы в массиве, возвращаемом методом getOptions(), в правилах AtLeast, Each, Email, Ip, Number и Subset (PR).

• Для правила Nested добавили тест, проверяющий работу правила в случае комбинирования вложенной структуры и пути в виде строки, с точкой в качестве разделителя (PR).

• Добавили тест произвольного правила и немного допилили документацию (PR).
3
⚡️ #yiisoftHtml

Обновление в Yii HTML:

• Добавлен виджет ButtonGroup (PR).

• В виджетах CheckboxList и RadioList добавлен метод name(), позволяющий изменить имя после создания виджета (PR).

• Добавлены классы для тегов Legend и Fieldset (PR).
⚡️ #yiisoftYiiCycle

Несколько улучшений в Yii Cycle ORM (PR):

EntityWriter теперь зависит от EntityManagerInterface вместо ORMInterface.

• В EntityReader вместо Sort::getOrder() теперь используется Sort::getCriteria().

• Добавили в конфигурацию EntityManager сброс состояния.

• Убрали зависимость от Yii Definitions: вместо исключений из этого пакета теперь используются собственные NotFoundException и NotInstantiableClassException.

• Сделали рефакторинг консольных команд: описание команды теперь указывается через защищённое свойство.

• Финализировали классы.

• Начали использовать атрибуты PhpStorm.
🔥1
⚡️ #yiisoftClassifier

Сделали первую реализацию пакета Yii Classifier: класс Classifier позволяет искать классы по интерфейсам и атрибутам (PR).
⚡️ #yiisoftDocs

В документации актуализировали примеры кода в статье о доверенных запросах (PR).
⚡️ #yiisoftYiiCycle

В пакете Yii Cycle ORM сделали небольшой рефакторинг (использование возможностей PHP 8) и подняли уровень psalm до 2 (PR).
👍1
#yiisoftYiiRunner #МинорныйРелиз #Релиз

🎁 Yii Runner 1.1.0

• Добавлена поддержка тегов контейнера в конфигурации приложения (PR, PR).
👍4
⚡️ #yiisoftYiiDevTool

Несколько улучшений в Yii Development Tool:

• добавлен пакет yiisoft/classifier и минимальная версия PHP увеличена до ^8.0 (PR);

• улучшен вывод команды release/what (PR).
👍4
⚡️ #yiisoftHtml

В пакете Yii HTML для тега input с типом file добавили специальный класс File и, соответственно, методы Html::file() и Input::fileControl() (PR).

Методы Html::fileInput() и Input::fileControl() помечены как устаревшие. В версии 3.0.0 они будут удалены, а метод Input::file() будет возвращать File вместо Input.
⚡️ #yiisoftYiiDebugApi #yiisoftYiiMiddleware

К последним изменениям в валидаторе адаптированы пакеты Yii Debug API (PR) и Yii Middleware (PR).
👍2
⚡️ #yiisoftHtml

В пакете Yii HTML в классе File добавлен метод uncheckInputTagAttributes() для установки атрибутов скрытого input со значением, отправляемым в случае, когда файл не выбран (PR).
⚡️ #yiisoftYiiConsole #yiisoftYiiDebugApi #yiisoftApp #yiisoftYiiMiddleware #yiisoftHtml

Обновили версии действий actions/cache и actions/checkout до 3 в GitHub Workflows, а также подняли версию PHP в конфигурации Scrutinizer до 8.0.18 в пакетах:

- Yii Console (PR)
- Yii Debug API (PR)
- Yii Middleware (PR)
- Yii HTML (PR)
- Шаблон веб-приложения (PR)
⚡️ #yiisoftHtml

В пакете Yii HTML добавлены классы для тегов Body, Article, Section, Nav, Aside, Hgroup, Header, Footer и Address (PR).
⚡️ #yiisoftYiiConsole

Несколько изменений в Yii Console (PR):

- подняли минимальную версию symfony/console до 5.4, соответственно появилась поддержка автозаполнения в Bash;

- адрес в команде serve по умолчанию изменён с localhost на 127.0.0.1.