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

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

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

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

В демо API-приложения не проходили тесты, исправили (PR).
⚡️ #yiisoftApp

В шаблоне веб-приложения адаптировали пример консольной команды к «ленивой» загрузке команд в консоли (PR).
⚡️ #yiisoftYiiDbMigration

В пакете Yii DB Migration исправлена ошибка в команде database/list (PR): если база данных содержит несколько схем (например, в PostgreSQL), то команда завершалась с ошибкой.
⚡️ #yiisoftFiles

В пакете Yii Files в readme улучшен пример с выборкой файлов по фильтру и доработан doc-блок метода PathMatcher::except() (PR).

Спасибо Tomasz Kane за PR 👍
#yiisoftDataDb

Создан новый пакет Yii Data DB, который будет содержать реализации интерфейсов из Yii Data для работы с базами данных.
⚡️ #yiisoftApp

В шаблоне веб-приложения вместо глобальных констант (YII_ENV,YII_DEBUG, …) теперь используются переменные окружения с помощью пакета vlucas/phpdotenv (PR).
⚡️ #yiisoftDb #yiisoftDbMysql #yiisoftDbSqlite #yiisoftDbMssql #yiisoftDbPgsql #yiisoftDbOracle

Выполнен рефакторинг и внесли несколько улучшений в пакет Yii DB (PR, PR):

• убрали зависимость от фабрики Yii Factory;

• логгер и профайлер теперь опциональны;

• в интерфейсе QueryInterface добавлен метод select();

• для тестирования расширений добавлен трейт TestTrait.

Расширения под конкретные БД адаптированы к этим изменениям:

- Yii DB MySQL Extension (PR, PR)
- Yii DB SQLite Extension (PR, PR)
- Yii DB MSSQL Server Extension (PR)
- Yii DB PostgreSQL Extension (PR)
- Yii DB Oracle Extension (PR)
⚡️ #yiisoftYiiDbMigration

Улучшили конфигурация пакета Yii DB Migration (PR). Теперь класс View, необходимый для работы сервиса генерации миграции, создаётся в самом сервисе, а не запрашивается из контейнера.
⚡️ #yiisoftDataDb

В пакете Yii Data DB добавлен QueryDataReader, реализующий DataReaderInterface из пакета Yii Data (PR, PR, PR).

Спасибо @Gerych1984 за PR 👍
⚡️ #yiisoftLogTargetDb

Поправили тесты в пакете Yii Logging DB Target (PR).
⚡️ #yiisoftTranslatorMessagePhp

В пакете Yii Translator PHP Message Storage добавлена валидация локали при получении пути к файлу с сообщениями (PR).
⚡️ #yiisoftTranslatorMessageGettext

В пакете Yii Translator gettext Message Storage удалили статический анализатор Phan (PR).
⚡️ #yiisoftRbac

В библиотеке Yii Role-Based Access Control разделили хранилища для ролей/прав и их назначений пользователям (PR).

Частый случай, когда роли и права в приложении — это статическая информация, которая может хранится в PHP-файлах, а данные о присвоении ролей/прав пользователям — динамическая, которая хранится в базе данных.
⚡️ #yiisoftDb

В пакете Yii DB Исправлена некорректная типизация аргументов и результата в методе TableSchema::getColumn() (PR).

getColumn(?string $name): ColumnSchema

getColumn(string $name): ?ColumnSchema
⚡️ #yiisoftDataDb

Оформили readme и composer.json в пакете Yii Data DB + немного поправили фильтры (PR).

Пакет добавлен на Packagist и доступен для установки через composer.
⚡️ #yiisoftAppApi #yiisoftDemoApi #yiisoftDemo

По аналогии с шаблоном веб-приложения вместо глобальных констант (YII_ENV,YII_DEBUG, …) теперь используются переменные окружения (с помощью пакета vlucas/phpdotenv) в шаблоне API-приложения (PR), демо API-приложения (PR) и демо веб-приложения (PR).
⚡️ #yiisoftDbSqlite

Исправлена ошибка при получении табличных индексов (дублировались уникальные индексы) в пакете Yii DB SQLite Extension (PR).
⚡️ #yiisoftRbac

В библиотеке Yii Role-Based Access Control для хранилища ролей/прав и их назначений пользователям теперь созданы отдельные интерфейсы RolesStorageInterface и AssignmentsStorageInterface соответственно (PR).
⚡️ #yiisoftAliases

В пакете Yii Aliases добавлен метод Aliases::getArray() для массового преобразования алиасов в пути (PR).

Например:

$aliases = new Aliases([
'@root' => '/my/app',
]);

// Value will be ['src' => '/my/app/src', 'tests' => '/my/app/tests']
$directories = $aliases->getArray(['src' => '@root/src', 'tests' => '@root/tests']);
⚡️ #yiisoftCacheDb

Сделали первую реализацию кэша на основе базы данных — Yii Cache DB Handler (PR, PR).
⚡️ #yiisoftPackageTemplate

Мелкие улучшения в пакете-шаблоне Yii Package Template (PR, PR): немного подчистили конфигурации GitHub workflow, добавили игнорирование /vendor в psalm, в конфигурации scrutinizer заменили версию PHP на 8.0.11.