⚡️ #yiisoftYiiDbMigration
Улучшения консольной команды
- для опционального параметра
- добавлен флаг
Улучшения консольной команды
migrate/down
в пакете Yii DB Migration (PR):- для опционального параметра
--limit
задано значение по умолчанию 1
;- добавлен флаг
--all
, включение которого приводит к откату всех миграций.⚡️ #yiisoftDefinitions
В пакете Yii Definitions добавлена документация и описания в doc-блоки в коде (PR).
В пакете Yii Definitions добавлена документация и описания в doc-блоки в коде (PR).
⚡️ #yiisoftInjector
В пакете Yii Injector у метода
В пакете Yii Injector у метода
Injector::make()
объявлен тип возвращаемого значения object
и добавлены psalm-аннотации, позволяющие анализатору понять экземпляром какого конкретно класса является возвращаемый объект (PR).⚡️ #yiisoftForm #yiisoftYiIBulma #yiisoftYiiBootstrap5 #yiisoftDemo
Выполнен рефакторинг всех виджетов в пакете Yii Form (PR).
• Серьёзно подчищен, а в некоторых местах и переписан, код всего пакета.
• Для генерации HTML-кода используются теги из пакета Yii HTML.
• Подчищены тесты. Для тестирования используются вспомогательные классы из Yii Test Support.
• Исправлены ошибки psalm, уровень psalm повышен до 1.
• MSI увеличен до 89,1%.
Для адаптации к этим изменениям внесены соответствующие правки в конфигурации Yii Bulma (PR) и Yii Bootstrap 5 (PR), а также в в демо веб-приложения (PR).
Выполнен рефакторинг всех виджетов в пакете Yii Form (PR).
• Серьёзно подчищен, а в некоторых местах и переписан, код всего пакета.
• Для генерации HTML-кода используются теги из пакета Yii HTML.
• Подчищены тесты. Для тестирования используются вспомогательные классы из Yii Test Support.
• Исправлены ошибки psalm, уровень psalm повышен до 1.
• MSI увеличен до 89,1%.
Для адаптации к этим изменениям внесены соответствующие правки в конфигурации Yii Bulma (PR) и Yii Bootstrap 5 (PR), а также в в демо веб-приложения (PR).
⚡️ #yiisoftYiiCycle
В пакете Yii Cycle добавлена ветка
Установка:
В пакете Yii Cycle добавлена ветка
2.0
, работающая с Cycle ORM версии 2, которая сейчас находится в стадии активной разработки (PR).Установка:
composer require yiisoft/yii-cycle "2.0.x-dev"
Информацию на русском о новой версии Cycle ORM можно почитать в gist о Cycle ORM v2.⚡️ #yiisoftRouter
В классе
В классе
CurrentRoute
(пакет Yii Router) добавлен метод getName()
, возвращающий имя текущего роута (PR).⚡️#yiisoftYiiConsole
В консоли Yii Console добавлена поддержка алиасов для команд (PR).
Теперь имя и алиасы команды задаются в конфигурации пакета, а имя и алиасы из класса команды игнорируются. В том числе это позволяет удобно указать в приложении свои имя и алиасы для команд, предоставляемых пакетами.
Имя и алиасы задаются в виде строки, разделённой вертикальной чертой
Примеры:
В консоли Yii Console добавлена поддержка алиасов для команд (PR).
Теперь имя и алиасы команды задаются в конфигурации пакета, а имя и алиасы из класса команды игнорируются. В том числе это позволяет удобно указать в приложении свои имя и алиасы для команд, предоставляемых пакетами.
Имя и алиасы задаются в виде строки, разделённой вертикальной чертой
|
. Если строка начинается с вертикальной черты, то команда помечается как скрытая, то есть она не выводится в списке команд, но может быть вызвана.Примеры:
// Имя `hello`; алиасов нет
'hello' => HelloCommand::class,
// Имя `start`; алиасы `run`, `s`, `r`
'start|run|s|r' => StartCommand::class,
// Скрытая команда; имя `hack`; алиас `h`
'|hack|h' => HackCommand::class,
⚡️ #yiisoftYiiDbMigration
Выполнен рефакторинг в пакете Yii DB Migration (PR):
- удалён класс
- весь вывод в консоль теперь идёт через
Выполнен рефакторинг в пакете Yii DB Migration (PR):
- удалён класс
ConsoleHelper
;- весь вывод в консоль теперь идёт через
OutputInterface
, передаваемый в команду (ранее часть вывода шла через создаваемый в ConsoleHelper
объект, реализующий OutputInterface
).⚡️ #yiisoftApp
В шаблоне веб-приложения адаптировали пример консольной команды к «ленивой» загрузке команд в консоли (PR).
В шаблоне веб-приложения адаптировали пример консольной команды к «ленивой» загрузке команд в консоли (PR).
⚡️ #yiisoftYiiDbMigration
В пакете Yii DB Migration исправлена ошибка в команде
В пакете Yii DB Migration исправлена ошибка в команде
database/list
(PR): если база данных содержит несколько схем (например, в PostgreSQL), то команда завершалась с ошибкой.⚡️ #yiisoftFiles
В пакете Yii Files в readme улучшен пример с выборкой файлов по фильтру и доработан doc-блок метода
Спасибо Tomasz Kane за PR 👍
В пакете Yii Files в readme улучшен пример с выборкой файлов по фильтру и доработан doc-блок метода
PathMatcher::except()
(PR).Спасибо Tomasz Kane за PR 👍
✨ #yiisoftDataDb
Создан новый пакет Yii Data DB, который будет содержать реализации интерфейсов из Yii Data для работы с базами данных.
Создан новый пакет 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;
• логгер и профайлер теперь опциональны;
• в интерфейсе
• для тестирования расширений добавлен трейт
Расширения под конкретные БД адаптированы к этим изменениям:
- 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)
Выполнен рефакторинг и внесли несколько улучшений в пакет 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). Теперь класс
Улучшили конфигурация пакета Yii DB Migration (PR). Теперь класс
View
, необходимый для работы сервиса генерации миграции, создаётся в самом сервисе, а не запрашивается из контейнера.⚡️ #yiisoftDataDb
В пакете Yii Data DB добавлен
Спасибо @Gerych1984 за PR 👍
В пакете Yii Data DB добавлен
QueryDataReader
, реализующий DataReaderInterface
из пакета Yii Data (PR, PR, PR).Спасибо @Gerych1984 за PR 👍
⚡️ #yiisoftTranslatorMessagePhp
В пакете Yii Translator PHP Message Storage добавлена валидация локали при получении пути к файлу с сообщениями (PR).
В пакете Yii Translator PHP Message Storage добавлена валидация локали при получении пути к файлу с сообщениями (PR).
⚡️ #yiisoftTranslatorMessageGettext
В пакете Yii Translator gettext Message Storage удалили статический анализатор Phan (PR).
В пакете Yii Translator gettext Message Storage удалили статический анализатор Phan (PR).
⚡️ #yiisoftRbac
В библиотеке Yii Role-Based Access Control разделили хранилища для ролей/прав и их назначений пользователям (PR).
Частый случай, когда роли и права в приложении — это статическая информация, которая может хранится в PHP-файлах, а данные о присвоении ролей/прав пользователям — динамическая, которая хранится в базе данных.
В библиотеке Yii Role-Based Access Control разделили хранилища для ролей/прав и их назначений пользователям (PR).
Частый случай, когда роли и права в приложении — это статическая информация, которая может хранится в PHP-файлах, а данные о присвоении ролей/прав пользователям — динамическая, которая хранится в базе данных.