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

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

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

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

Несколько обновлений в Gii.

• Подняли минимальную версию PHP до ^8.0, актуализировали версии всех зависимостей и адаптировали под эти изменения код пакета (PR).

• Мутационное тестирование в CI оставили только в PHP 8.1 (PR).

• В GitHub Actions добавили конфигурацию для запуска Rector и применили предлагаемые изменения (PR).
👍3
⚡️ #yiisoftValidator #yiisoftYiiSentry #yiisoftYiiSwagger #yiisoftYiiRunnerRoadrunner #yiisoftYiiRunnerHttp #yiisoftYiiRunnerConsole #yiisoftYiiHttp #yiisoftYiiRunner

В GitHub Actions добавили конфигурацию для запуска Rector и применили предлагаемые изменения:

- Yii Validator (PR),
- Yii Sentry (PR),
- Yii Swagger (PR),
- Yii RoadRunner Runner (PR),
- Yii HTTP Runner (PR),
- Yii Console Runner (PR),
- Yii HTTP Application (PR),
- Yii Runner (PR).
🔥4
⚡️ #yiisoftDemoApi

В демо API-приложения в CI-конфигурацию build добавлено PHP-расширение intl (PR).
👍2
⚡️ #yiisoftYiiRunnerHttp #yiisoftYiiRunnerRoadrunner

Адаптировали раннеры к актуальной версии Yii Middleware Dispatcher:
- Yii HTTP Runner (PR),
- Yii RoadRunner Runner (PR).
👏3
⚡️ #yiisoftValidator

Продолжается работа над пакетом Yii Validator.

• В правилах Each и Nested добавили опцию propagateOptions, которая позволяет применить опции when, skipOnEmpty и skipOnError на все вложенные правила (PR).

• Добавили правило StopOnError, позволяющее прекратить выполнение вложенных правил, как только одно из них вернуло ошибку (PR). Например:

#[StopOnError([
new HasLength(min: 3, max: 150),
new Regex(pattern: '/[\w]+/i'),
new ExistInDatabase()
])]
private $username;


• Немного подчистили код и порефакторили тесты (PR).
👍5
⚡️ #yiisoftYiiWidgets

В пакете Yii Widgets подняли минимальную версию PHP до ^8.0, серьёзно отрефакторили все виджеты и добавили тестов (PR).
👍5
⚡️ #yiisoftValidator

В Yii Validator добавили возможность учитывать наличие атрибута в проверяемом наборе данных (PR).

• В интерфейсе DataSetInterface добавили метод hasAttribute().

• Удалили трейт EmptyCheckTrait (вместо него теперь используются класс SkipOnEmpty).

• В контексте валидации ValidationContext добавили метод isAttributeMissing().

Эти изменения позволят создать (или модифицировать существующие, например, Required) правила, которые будут не просто учитывать пустое или нет значение атрибута, но и само наличие атрибута.
👍3
⚡️ #yiisoftData

В GitHub Actions пакета Yii Data добавили конфигурацию для запуска Rector и применили предлагаемые изменения (PR).
🔥1
⚡️ #yiisoftActions

В Yii GitHub Actions внесли изменения конфигурацию rector:
- доработали процесс коммита изменений (PR);
- добавили файлы-исключения, при изменении которых во время пуша не будет запускаться экшн (PR).
🔥2
⚡️ #yiisoftPackageTemplate

В шаблоне для новых пакетов Yii Package Template подняли минимальную версию PHP до ^8.1 (PR).
🔥2👍1
⚡️ #yiisoftActions

Ещё несколько изменений в Yii GitHub Actions:

- обновили версию экшена EndBug/add-and-commit, используемого в конфигурации rector (PR);

- в конфигурации phpunit добавили отправку информации о покрытии кода тестами в Codecov (PR).
🔥2
⚡️ #yiisoftYiiDebugViewer

Адаптировали Yii Debug Viewer к последним изменениям в Yii Debug (PR).
🔥2
⚡️ #yiisoftValidator

В Yii Validator разделили интерфейс BeforeValidationInterface на SkipOnErrorInterface и WhenInterface (PR).
🔥6
⚡️ #yiisoftDemo

В демо веб-приложения обновили версию yiisoft/yii-sentry на стабильную ^1.0 (PR).
🔥4
⚡️ #yiisoftYiiTesting

В Yii Testing добавили класс ResponseAccessor, который предоставляет удобный доступ к содержимому и мета-информации ответа приложения (PR).
🔥2
⚡️ #yiisoftYiiWidgets

В Yii Widgets актуализировали документацию по виджетам и немного порефакторили код (PR).
🔥3
⚡️ #yiisoftYiiWidgets

Несколько изменений в CI пакета Yii Widgets (PR):
- в конфигурации build поправили версию используемого экшена yiisoft/actions/.github/workflows/phpunit.yml;
- в конфигурации rector добавили файлы-исключения, при изменении которых во время пуша не будет запускаться экшн.
🔥2
⚡️ #yiisoftCacheApcu #yiisoftCacheRedis #yiisoftCacheMemcached

Адаптировали пакеты к psr/simple-cache версии ^2.0|^3.0 и подняли минимальную версию PHP до ^8.0:
- Yii Cache APCu Handler (PR),
- Yii Cache Redis Handler (PR),
- Yii Cache Memcached Handler (PR).
👍6🤡1
⚡️ #yiisoftValidator

Несколько обновлений в Yii Validator.

• Удалили трейт RuleNameTrait , прописав имена правил прямо в их классах (PR).

• У правила AtLeast добавили поддержку валидации массивов и немного порефакторили тесты (PR).
🔥2
⚡️ #yiisoftYiiWidgets

В Yii Widgets в CI-конфигурации build добавили тестирование в PHP 8.2 (PR).
🔥3