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

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

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

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

Несколько улучшение в шаблоне для пакетов Yii Package Template.

• Подняли версию PHP до ^8.0 (PR).

• В readme в команде для установки пакета через Composer убрали флаг --prefer-dist, так как Composer по умолчанию использует dist при установке пакета (PR).

• В GitHub Actions добавили конфигурацию для запуска Rector (PR).
🔥2
#yiisoftYiiTesting

Новый пакет Yii Testing, который будет помогать создавать приёмочные тесты без запуска сервера, или функциональные тесты в терминологии Codeception.

Уже добавлены раннер, абстрактный класс для тестов и другие классы (PR), проработана возможность работы с пакетами, подключенными через символические ссылки (PR). Также в GitHub Actions добавлена конфигурация для запуска Rector (PR).
🔥4
⚡️ #yiisoftYiiDevTool

Обновление Yii Development Tool.

• Добавили пакеты yiisoft/yii-testing (PR) и yiisoft/actions (PR).

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

• Добавили возможность указать ветку (опция branch) в команде sync (PR).

• Изменили поведение команд update и composer/update: символические ссылки на пакеты теперь создаются после обновления каждого из пакетов, а не после обработки всех пакетов, как было ранее. А при выполнении команды install символические ссылки создаются только для устанавливаемых пакетов (PR).

• Удалили пакет mailer-swiftmailer, который в настоящее время уже закрыт (PR).

• Удалили использование upstream-веток; если необходимо, то репозиторий можно прописать в packages.local.php (PR).

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

• Composer-зависимости обновили до актуальных версий (PR).
👍4
🔥 #Новости

Yii уже традиционно участвует в проекте HacktoberFest 2022.

Цель проекта — поддержать Open Source сообщество.

Как это работает?

1) Регистрируемся на сайте проекта с 26 сентября по 31 октября.

2) Делаем 4 пулл-реквеста в публичные репозитории на GitHub'е, участвующие в проекте, в период с 1 по 31 октября.

3) Если ваши пулл-реквесты будут приняты и слиты, то вы получите приз от HacktoberFest: футболку и сувениры.

🎁 Приз получат первые 40 000 участников.

Как сделать первый пул-реквест?

В пакетах Yii мы стараемся помечать тикеты, с которых можно начать контрибьютить, специальным тегом good first issue.

⭐️ Список тикетов
🔥7👍1
⚡️ #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