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

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

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

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

Начать контрибьютить в Yii3 — это просто. И это точно приблизит время, когда мы сможем дать конкретный ответ на вопрос «Когда релиз Yii3?».

Свежая статья «Как помочь с релизом Yii3» Виктора Бабанова из core-команды Yii3 подробно рассказывает как помочь фреймворку кодом, даже если вы никогда раньше этого не делали.
👍22
⚡️ #yiisoftValidator

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

RuleSet::asArray() теперь возвращает все правила, а не только те, которые реализуют интерфейс ParametrizedRuleInterface (PR);

• по умолчанию отключена опция правил skipOnError (PR).
⚡️ #yiisoftData

Подчистили Yii Data (PR):

• сделали небольшой рефакторинг, вынесли часть кода из фильтров в новый хелпер FilterDataValidationHelper;

• улучшили сообщения в исключениях;

• подняли уровень Psalm до 1;

• улучшили настройки GitHub Actions.
👍1
⚡️ #yiisoftData

Доработки в Yii Data (PR).

• Исправили работу групповых фильтров: метод IterableProcessorInterface::match() всегда возвращает булев тип, а групповые фильтры в некоторых случаях ожидали null.

• Финализировали класс фильтра Equals.

• Сделали небольшой рефакторинг.

• Добавили тестов для фильтров и процессоров.
⚡️ #yiisoftValidator

Доработали документацию и тесты в Yii Validator, касающиеся опции skipOnEmpty в правилах валидации (PR).
⚡️ #yiisoftRbac

Увеличили до 100% покрытие тестами пакета Yii Role-Based Access Control (PR).
⚡️ #yiisoftRequestModel

В пакете Yii Request Model исправили ошибку, возникавшую при вызове метода RequestValidationException::getFirstErrors() (PR).
#yiisoftRbacCycleDb

Создали новый пакет Yii RBAC Cycle Database Storage для реализации на базе Cycle DBAL хранилища ролей, разрешений и назначений их пользователям для Yii RBAC.
👍1
⚡️ #yiisoftYiiDebug

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

• коллекторы событий и логов дополнительно сохраняют номер строки, где было вызвано событие;

• обработчик действия из стека в сборщике промежуточного программного обеспечения был отделен для более удобного отображения в средствах просмотра отладочной информации.
👍1
⚡️ #yiisoftData

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

• финализирован класс KeysetPaginator (PR);

• доработали сообщения об ошибках и добавили ещё тестов (PR).
👍1
🔥 #yiisoftDb #yiisoftActiveRecord #Новости

Yii DB https://github.com/yiisoft/db
Yii Active Record https://github.com/yiisoft/active-record
А также - их адаптеры.

Пакеты активно эволюционируют: в них динамично меняется API, код пакетов становится чище, абстракции - прозрачнее. После завершения пакета изменений мы опубликуем большую новость о произошедших изменениях, а пока рекомендуем воздержаться от обновления этих пакетов ввиду нестабильности публичного API.
👍6👏1
⚡️ #yiisoftData

Рефакторинг в пакете Yii Data (PR):

• вынесли общий код из части процессоров данных в абстрактный класс CompareProcessor;

• в абстрактном фильтре GroupFilter и фильтре In изменили имя value на values у приватной переменной и аргумента конструктора.
👍41
⚡️ #yiisoftRbac

В пакете Yii Role-Based Access Control реализовали текучий интерфейс у класса Manager и добавили ещё тестов (PR).

Теперь можно делать, например, так:

$manager
->addPermission(new Permission('signup'))
->addRole(new Role('guest'))
->addChild('guest', 'signup');
👍3
⚡️ #yiisoftApp

Небольшие доработки в шаблоне веб-приложения (PR):

• мелкие улучшения в readme, обновили скриншот главного экрана;

• в composer.json убрали использование репозиториев ресурсов asset-packagist.org и убрали разрешение для composer-плагина composer/package-versions-deprecated;

• подняли версию PHP в scrutinizer до 8.0.16.
👍3
⚡️ #yiisoftYiiQueueAmqp

В драйвере очередей Yii Queue AMQP подняли минимальную требуемую версию библиотеки php-amqplib/php-amqplib до ^3.1.0, а также указали в composer.json необходимость PHP-расширения sockets (PR).
👍1
⚡️ #yiisoftValidator #yiisoftForm

В пакете Yii Validator удалили метод hasAttribute() из интерфейса DataSetInterface и его реализаций ScalarDataSet и ArrayDataSet (PR).

Также удалили этот метод из интерфейса FormModelInterface в пакете Yii Form (PR).
⚡️ #yiisoftForm

В пакете Yii Form разрешили символы - и _ в названиях атрибутов (PR).
⚡️ #yiisoftHtml

В пакете Yii HTML добавили классы для тегов Picture, Audio, Video, Source и Track (PR).
👍1
⚡️ #yiisoftTestSupport

В пакете Yii Test Support внесли несколько изменений, касающихся работы метода SimpleContainer::has() в случаях, когда запрашиваемого объекта нет в списке дефинишенов (PR):

• теперь при создании объекта перехватываются не все исключения, а только NotFoundException;

• добавили возможность указать в конструкторе SimpleContainer произвольную функцию, которая заменит стандартное поведение.
⚡️ #yiisoftYiiDocker

Обновили Yii Docker Image (PR):

• теперь используется многоступенчатая сборка для минимизации размера образов;

• добавлены облегчённые min-версии образов с минимально необходимыми расширениями и библиотеками.

Все образы доступны на Docker Hub: yiisoftware/yii-php.
🔥3
⚡️ #yiisoftYiiDebug

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

- сборщик информации о запросе RequestCollector сохраняет объекты запроса (ServerRequestInterface) и ответа (ResponseInterface) (PR);

- исправлено ошибка в сборщике информации о мидлварях MiddlewareCollector: в некоторых случаях некорректно определялся обработчик запроса (PR).