⚡️ #yiisoftHtml
Для тегов из Yii HTML разрешено передавать
-
-
-
-
Важно понимать отличие
Примеры:
Для тегов из Yii HTML разрешено передавать
null
в методы (PR):-
Tag::class()
,-
Tag::replaceClass()
,-
BooleanInputTag::label()
,-
BooleanInputTag::sideLabel()
.Важно понимать отличие
null
и пустой строки. Это очень разные по своей сути значения. null
обозначает отсутствие чего-либо, а пустая строка — существование, но с пустым значением.Примеры:
// <br>
echo Br::tag()->class(null);
// <br class="">
echo Br::tag()->class('');
// <input type="checkbox">
echo Checkbox::tag()->label(null);
// <label><input type="checkbox"></label>
echo Checkbox::tag()->label('');
⚡️ #yiisoftWidget
Фабрика виджетов
Это позволит в дальнейшем финализировать класс
Фабрика виджетов
WidgetFactory
из Yii Widget вместо наследования от Yiisoft\Factory\Factory
теперь использует композицию (PR).Это позволит в дальнейшем финализировать класс
Yiisoft\Factory\Factory
.⚡️ #yiisoftFactory
Фабрика из Yii Factory при разрешении ссылок (
Пример:
Таким образом контейнер используется только для разрешения зависимостей.
Фабрика из Yii Factory при разрешении ссылок (
Reference
) теперь не использует контейнер (PR).Пример:
$factory = new Factory(До PR фабрика не находила
new SimpleContainer([
EngineInterface::class => new EngineMarkOne(),
]),
[
'engine' => Reference::to(EngineInterface::class),
]
);
$engine = $factory->create('engine');
EngineInterface
в своих дефинишенах и получала его из контейнера, после PR фабрика никогда не ищет ссылки (Reference
) в контейнере и в примере вызовет исключение NotInstantiableException
.Таким образом контейнер используется только для разрешения зависимостей.
⚡️ #yiisoftYiiBulma
Продолжаем наводить красоту в Yii Bulma (PR):
• Переименованы методы:
Продолжаем наводить красоту в Yii Bulma (PR):
• Переименованы методы:
Nav::withoutActivateItems()
→ Nav::deactivateItems()
Tabs::withoutActivateItems()
→ Tabs::deactivateItems()
• Много улучшений в Doc-блоках.⚡️ #yiisoftYiiBulma
Обновлены версии зависимостей в Yii Bulma:
-
-
Обновлены версии зависимостей в Yii Bulma:
-
npm-asset/vizuaalog--bulmajs
до ^0.12.1
(PR),-
npm-asset/bulma-helpers
до ^0.4.0
(PR).⚡️ #yiisoftFactory
Улучшения в пакете Yii Factory (PR):
- финализированы все классы;
- добавлены ещё несколько тестов;
- немного почищен код;
- обновлены dev-зависимости.
Улучшения в пакете Yii Factory (PR):
- финализированы все классы;
- добавлены ещё несколько тестов;
- немного почищен код;
- обновлены dev-зависимости.
🎁 #yiisoftEventDispatcher #Патч
Патч-релиз диспетчера событий Yii Event Dispatcher 1.0.1 (PR).
• Добавлена поддержка слушателей с объединённым типом события.
Например:
Например:
Патч-релиз диспетчера событий Yii Event Dispatcher 1.0.1 (PR).
• Добавлена поддержка слушателей с объединённым типом события.
Например:
$listenerCollection->add(• В методе
static function (EventA|EventB $event): void {}
);
ListenerCollection::add()
добавлена возможность добавлять одного слушателя сразу к нескольким событиям. Например:
$listenerCollection->add(Спасибо @ncou за обнаруженную ошибку с объединённым типом события.
$listener,
EventA::class,
EventB::class
);
⚡️ #yiisoftWidget
В виджете
+ Небольшие улучшения в doc-блоках.
В виджете
Menu
(пакет Yii Widget) в публичных методах Menu::currentPath()
, Menu::firstItemCssClass()
и Menu::lastItemCssClass()
в качестве аргумента запрещено передавать null
, можно передавать только строку (PR).+ Небольшие улучшения в doc-блоках.
⚡️ #yiisoftDi
В пакете Yii Dependency Injection удалён контекстный контейнер, так как нигде не используется (PR).
В пакете Yii Dependency Injection удалён контекстный контейнер, так как нигде не используется (PR).
⚡️ #yiisoftYiiDevTool
В инструменте для разработки Yii Dev Tool пакеты теперь обрабатываются в алфавитном порядке (PR).
В инструменте для разработки Yii Dev Tool пакеты теперь обрабатываются в алфавитном порядке (PR).
⚡️ #yiisoftYiiSentry
Первый строчки кода в пакете Yii Sentry (PR): реализована мидлварь для перехвата исключений и добавлена конфигурация контейнера.
Первый строчки кода в пакете Yii Sentry (PR): реализована мидлварь для перехвата исключений и добавлена конфигурация контейнера.
⚡️ #yiisoftPackageTemplate
В пакете-шаблоне Yii Package Template подготовили конфигурации GitHub Actions для ежедневного запуска (PR).
Это позволит оперативно узнавать о том, что в пакете что-то сломалось из-за изменений в зависимостях.
В пакете-шаблоне Yii Package Template подготовили конфигурации GitHub Actions для ежедневного запуска (PR).
Это позволит оперативно узнавать о том, что в пакете что-то сломалось из-за изменений в зависимостях.
⚡️ #yiisoftProxy
В пакете Yii Proxy исправлена ошибка с некорректным проксированием исключений, что в некоторых случаях приводило к дублированию текста ошибки (PR).
Спасибо @mahmud128 за обнаруженную проблему.
В пакете Yii Proxy исправлена ошибка с некорректным проксированием исключений, что в некоторых случаях приводило к дублированию текста ошибки (PR).
Спасибо @mahmud128 за обнаруженную проблему.
⚡️ #yiisoftFactory
В пакете Yii Factory из конфигурации автодополнения для PhpStorm (файл
В пакете Yii Factory из конфигурации автодополнения для PhpStorm (файл
.phpstorm.meta.php
) удалены настройки для удалённого ранее метода Factory::get()
(PR).⚡️ #yiisoftPackageTemplate
В пакете-шаблоне Yii Package Template улучшен шаблон сообщения к пул-реквесту на GitHub (PR): закомментирована строка с инструкцией по заполнению поля «исправленные проблемы».
В пакете-шаблоне Yii Package Template улучшен шаблон сообщения к пул-реквесту на GitHub (PR): закомментирована строка с инструкцией по заполнению поля «исправленные проблемы».
⚡️ #yiisoftApp #yiisoftAppApi
В шаблонах приложений Yii Application Template (PR) и Yii API Template (PR) конфигурация PSR-17 (фабрики HTTP-объектов) перенесена из web-конфигурации в общую конфигурацию, так как эти фабрики могут потребовать везде, где используется HTTP-клиент, а он требуется не только в web-приложении, но, в некоторых случаях, и в консольных командах.
В шаблонах приложений Yii Application Template (PR) и Yii API Template (PR) конфигурация PSR-17 (фабрики HTTP-объектов) перенесена из web-конфигурации в общую конфигурацию, так как эти фабрики могут потребовать везде, где используется HTTP-клиент, а он требуется не только в web-приложении, но, в некоторых случаях, и в консольных командах.
⚡️ #yiisoftFactory
В Yii Factory добавлены дополнительные тесты (PR).
В процессе разработки фабрики и контейнера зависимостей большинство тестов были сделаны именно в контейнере. В рамках этого пул-реквеста добавили много аналогичных тестов для фабрики. Помимо увеличения покрытия кейсов использования тестами, это позволило выявить несколько проблем в фабрике (см. issues).
В Yii Factory добавлены дополнительные тесты (PR).
В процессе разработки фабрики и контейнера зависимостей большинство тестов были сделаны именно в контейнере. В рамках этого пул-реквеста добавили много аналогичных тестов для фабрики. Помимо увеличения покрытия кейсов использования тестами, это позволило выявить несколько проблем в фабрике (см. issues).
⚡️ #yiisoftFactory
В Yii Factory для метода
Например:
В Yii Factory для метода
Factory::create()
добавлены psalm-аннотации, позволяющие анализатору понять тип возвращаемого объекта, если в качестве конфигурации передано имя класса (PR).Например:
// return instance of class "Car"
$factory->create(Car::class);
// return mixed
$factory->create(['class' => Car::class]);
// return mixed
$factory->create('car');