Дата публикации: 15.09.2021 в 20:35

LiveWire Большой Update версии 2.6.0

0 комментария

Друзья на повестке дня самое большое обновление для Livewire со времен версии 2.0!

Практически все обновление было сделано руками сообщества Livewire, что указывает на то что фреймворк набирает обороты и это не может не радовать!


Давайте пройдемся по самым интересным нововведениям данного обновления


Новый lifecycle hook! Метод boot

Новый хук boot() будет выполняться на каждый запрос к Livewire компоненту, в отличии от хука mount() который вызывался единожды при инициализации! Да Livewire не такой уж и live, не смотря на его название, на самом деле он не держит никакого постоянного коннекта с браузером и каждый запрос это ничто иное как старые добрые ajax запросы! И каждый из них будет проходить через хук boot()

boot


Работа с отношениями


Теперь можно работать с отношениями в моделях, что делает Livewire еще более интересным!
Давайте посмотрим пример:

HasMany отношение posts у User


View


Интерфейс Wireable


Появился новый интерфейс Wireable и если класс его реализует то это позволяет хранить и сохранять любой объект в качестве общедоступного свойства компонента Livewire.
Пример такого класс:

Settings


Предупреждение в консоли браузера что в компоненте несколько родительских элементов


Компоненты Livewire могут иметь только ОДИН корневой элемент. Если присутствуют два, Livewire молча не запустить свой компонент, что вызывает большую путаницу для новичков.
Но теперь Livewire обнаружит второй корневой элемент компонента и предупредит пользователя в консоли браузера.

Поддержка нескольких пагинаторов


Ранее разработчики захардкодили параметр page что не позволяло добавлять несколько пагинаторов в компоненте! Теперь же эта проблема исправлена и мы можем указать наименование GET параметра!

Пример


Поддержка redirect()->with()

Livewire теперь также поддерживает метод ->with() для редиректор с возможностью передать флэш-данные.

Выглядит это следующим образом:

with()


Поддержка DateTimeImmutable и CarbonImmutable


Livewire добавляет поддержку все большего количества типов PHP, которые будут храниться в качестве общедоступных свойств компонентов. Теперь также поддерживаются DateTimeImmutable и CarbonImmutable.
На этом все! Более детально смотрите на GitHub!
А также детальный обзор обновления на нашем канале

ОбщайсяРазвивайсяУчисьРаботай
ОбщайсяРазвивайсяУчисьРаботай
ОбщайсяРазвивайсяУчисьРаботай
ОбщайсяРазвивайсяУчисьРаботай