🎁 #yiisoftYiiEvent #Релиз #ПатчРелиз
Патч-релиз Yii Event 1.0.2
В случаях, когда используется некорректный слушатель, выводится более подробное сообщение об ошибке.
Примеры новых сообщений:
Патч-релиз Yii Event 1.0.2
В случаях, когда используется некорректный слушатель, выводится более подробное сообщение об ошибке.
Примеры новых сообщений:
"__invoke" method is not defined in "App\Events\MyEvent" class.
Failed to instantiate "App\Events\MyEvent" class.
Could not instantiate "App\Events\MyEvent" or "handle" method is not defined in this class.
"handle" method is not defined in "App\Events\MyEvent" class.
Listener must be a callable. Got App\Events\MyEvent.
⚡️ #yiisoftYiiDevTool
Исправлена ошибка в Yii Development Tool: при использовании команды
Исправлена ошибка в Yii Development Tool: при использовании команды
composer/update
вместо composer update
выполнялось composer install
(PR).⚡️ #yiisoftApp
Небольшие улучшения в шаблоне веб-приложения (PR):
- значение константы
- точки входа добавлены в статический анализ;
- мелкий рефакторинг и исправление ошибок psalm в точках входа.
Небольшие улучшения в шаблоне веб-приложения (PR):
- значение константы
YII_DEBUG
получаемое из переменной окружения приводится к булеву типу;- точки входа добавлены в статический анализ;
- мелкий рефакторинг и исправление ошибок psalm в точках входа.
⚡️ #yiisoftYiiDbMigration
Исправлена ошибка в консольной команде
В случае, когда нет миграций для выполнения, команда возвращала код
Исправлена ошибка в консольной команде
migrate/update
пакета Yii DB Migration (PR). В случае, когда нет миграций для выполнения, команда возвращала код
1
(UNSPECIFIED ERROR
) вместо 0
(OK
).⚡️ #yiisoftDefinitions
Рефакторинг в пакете Yii Definitions: кэширование зависимостей перемещено из
Рефакторинг в пакете Yii Definitions: кэширование зависимостей перемещено из
ArrayDefinitionBuilder
в DefinitionExtractor
(PR).⚡️ #yiisoftYiiDataview
В виджете
В виджете
GridView
из пакета Yii Data Widgets исправлен некорректный вывод тега <colgroup>
(PR).<colgroup>
выводится в случаях, если у колонок есть опции, и содержит в себе теги <col>
. До этого PR содержимое <colgroup>
экранировалось, то есть вместо тегов <col ...>
выводилось <col ...>
. Cейчас экранирование отключили.⚡️ #yiisoftHtml
В пакете Yii HTML добавлен класс для тега
Например:
В пакете Yii HTML добавлен класс для тега
<noscript>
и возможность добавить <noscript>
к тегу <script>
(PR).Например:
// <script>...</script><noscript><img src="pixel.png"></noscript>
echo Script::tag()->content('...')->noscript(Img::tag()->src('pixel.png'));
⚡️ #yiisoftYiiDbMigration
Исправлена ошибка в пакете Yii DB Migration, возникающая при указании лимита (
Исправлена ошибка в пакете Yii DB Migration, возникающая при указании лимита (
--limit
) в командах migrate/down
, migrate/redo
и migrate/history
(PR).🎁 #yiisoftHtml #Релиз #МинорныйРелиз
Минорный релиз Yii HTML 2.1.0
• Добавлен класс для тега
Минорный релиз Yii HTML 2.1.0
• Добавлен класс для тега
<noscript>
и возможность добавить <noscript>
к тегу <script>
.⚡️ #yiisoftFactory
Сделали очередной рефакторинг в Yii Factory (
Сделали очередной рефакторинг в Yii Factory (
DependencyResolver
переделан в FactoryContainer
) и добавили тестов (PR).⚡️ #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), то команда завершалась с ошибкой.