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

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

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

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

В пакете Yii Console в методе Yiisoft\Yii\Console\CommandLoader::get() добавили тип возвращаемого результата (PR):

public function get(string $name): Command
#yiisoftYiiConsole #МинорныйРелиз #Релиз

🎁 Yii Console 1.0.1

• В методе Yiisoft\Yii\Console\CommandLoader::get() добавлен тип возвращаемого результата (Symfony\Component\Console\Command\Command).

• Добавлена поддержка 6й версии пакета symfony/console.
⚡️ #yiisoftRequestModel #yiisoftForm

К последним изменениям в Yii Validator адаптировали Yii Request Model (PR) и Yii Form (PR).
⚡️ #yiisoftDemoApi

В инструкцию по установке демо API-приложения добавили пункт об изменении владельца директории приложения (PR).
👍1
⚡️ #yiisoftForm

В пакете Yii Form в модели формы теперь валидируются исходные данные до приведения типов (PR).
👍1
⚡️ #yiisoftYiiSwagger

Исправили ссылку на документацию Swagger-PHP в readme пакета Yii Swagger (PR).
⚡️ #yiisoftDemo

В демо веб-приложения разрешили composer-плагины composer/installers и oomphinc/composer-installers-extender, которые требуются для Yii Bootstrap 5 (PR).
👍1
⚡️ #yiisoftMutexFile

Исправили ошибку в примере кода в readme пакета Yii Mutex File Driver (PR).
⚡️ #yiisoftRbac #yiisoftRbacPhp #yiisoftDemo
#yiisoftRbacRulesContainer

Переработали хранение и создание правил в пакете Yii Role-Based Access Control (PR). Теперь правила НЕ сохраняются в хранилище, а создаются с помощью абстрактной фабрики RuleFactoryInterface. Это позволило существенно упростить код:

- из хранилища ItemsStorageInterface удалены все методы, касающиеся правил;

- у правил теперь нет имён и соответственно удалён метод getName();

- удалён абстрактный класс Rule, так как он был нужен только для удобства работы с именем правила.

Вместо фабрики ClassNameRuleFactory в новом пакете Yii RBAC Rules Container создан контейнер правил RulesContainer (реализует интерфейс RuleFactoryInterface), позволяющий задавать конфигурацию правил с помощью синтаксиса Yii Definitions и использовать любой PSR-11 контейнер для разрешения зависимостей.

К этим изменениям адаптированы хранилище Yii RBAC PHP File Storage (PR) и демо веб-приложения (PR).
👍1
⚡️ #yiisoftYiiDevTool #yiisoftPackageTemplate

Несколько изменений в пакетах для разработки:

• В шаблоне пакетов Yii Package Template удалили название репозитория по умолчанию в composer.json (PR).

Yii Development Tool адаптировали к PHP 8.1 (PR) и добавили пакет Yii RBAC Rules Container (PR).
⚡️ #yiisoftForm

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

• В модель формы добавлен метод setFormErrors(FormErrorsInterface $formErrors): void (PR).

• В поле Hidden в качестве значения дополнительно к строкам разрешено также передавать число или null (PR).
⚡️ #yiisoftMiddlewareDispatcher

В пакете Yii Middleware Dispatcher в отладочную информацию обёртки на мидлварями в виде функций обратного вызова добавили саму эту функцию (PR).
⚡️ #yiisoftRbac

В RBAC-менеджере библиотеки Yii Role-Based Access Control в качестве ID пользователя разрешено передавать строку, целое число или объект с методом __toString() (PR).
#yiisoftMiddlewareDispatcher #ПатчРелиз #Релиз

🎁 Yii Middleware Dispatcher 2.0.1

• Добавлена отладочная информация для обёртки на мидлварями в виде функций обратного вызова.
👍1
⚡️ #yiisoftRbac

В readme пакета Yii Role-Based Access Control добавили схему, иллюстрирующую пример иерархии разрешений и ролей (PR).

На GitHub'e в markdown-файлах добавили поддержку Mermaid. Этот инструмент позволяет описывать диаграммы в текстовом виде. Например, добавленная в readme схема в текстовом виде выглядит так:

```mermaid
flowchart LR
createPost:::permission ---> author:::role
readPost:::permission --> reader:::role --> author:::role
deletePost:::permission ---> author:::role
classDef permission fill:#fc0,stroke:#000,color:#000
classDef role fill:#9c0,stroke:#000,color:#000
```
👍5🔥2
#yiisoftDi #ПатчРелиз #Релиз

🎁 Yii Dependency Injection 1.0.2

• Исправлена опечатка в названии метода в классе TagHelper (PR):
extarctTagFromAlias()extractTagFromAlias()
⚡️ #yiisoftData

В пакете Yii Data добавлены фильтры Between, EqualsEmpty и EqualsNull (PR).
⚡️ #yiisoftDemo

В демо веб-приложения debug-тулбар отключен для продакшена (PR).
⚡️ #yiisoftYiiDataview #yiisoftDemo

Улучшили виджеты LinkSorter и LinkPager в Yii Data Widgets (PR):

• Добавили возможность отдельно задавать атрибуты роута и GET-параметры, если они не указаны, то будут использованы соответствующие данные из текущего роута.

• Добавили возможность изменить шаблон в LinkPager, что позволит создавать сложные макеты пагинации.

• Добавили возможность использовать аргумент роута в качестве текущей страницы.

Добавили пример использования Yii Data Widgets в демо веб-приложения (PR).
👍2
🌿 #Полезное

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

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