РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
97 of 274 menu

Команда livewire:convert

Команда livewire:convert предназначена для обратного преобразования компонентов Livewire в обычные контроллеры Laravel. Это может понадобиться при отказе от использования Livewire или при переносе логики в стандартную архитектуру MVC. Команда принимает имя класса компонента и автоматически создает контроллер с соответствующими методами.

Синтаксис

php artisan livewire:convert ComponentName

Где ComponentName - имя компонента Livewire, который требуется преобразовать.

Пример

Допустим, у нас есть компонент Livewire с именем Counter, который хранит состояние счета и методы для его изменения. Выполним преобразование этого компонента:

php artisan livewire:convert Counter

В результате будет создан контроллер CounterController в директории app/Http/Controllers. Исходные файлы компонента Livewire при этом не удаляются.

Пример

Рассмотрим компонент Livewire Counter до преобразования:

<?php namespace AppLivewire; use LivewireComponent; class Counter extends Component { public $num = 0; public function inc() { $this->num++; } public function dec() { $this->num--; } public function render() { return view('livewire.counter'); } } ?>
<div> <button wire:click="dec">-</button> <span>{{ $num }}</span> <button wire:click="inc">+</button> </div>

После запуска команды преобразования будет создан контроллер:

<?php namespace AppHttpControllers; use IlluminateHttpRequest; class CounterController extends Controller { public function index() { $num = session('num', 0); return view('counter', ['num' => $num]); } public function inc() { session(['num' => session('num', 0) + 1]); return redirect()->route('counter.index'); } public function dec() { session(['num' => session('num', 0) - 1]); return redirect()->route('counter.index'); } } ?>

А шаблон counter.blade.php будет адаптирован для работы с контроллером:

<div> <form action="{{ route('counter.dec') }}" method="POST"> @csrf <button type="submit">-</button> </form> <span>{{ $num }}</span> <form action="{{ route('counter.inc') }}" method="POST"> @csrf <button type="submit">+</button> </form> </div>

Таким образом, команда преобразует реактивный компонент в стандартный контроллер с маршрутами и сессионным хранилищем.

Смотрите также

  • команду livewire:move,
    которая перемещает компонент в другое пространство имен
  • команду livewire:copy,
    которая копирует существующий компонент
  • команду livewire:delete,
    которая удаляет компонент и его шаблон
  • команду make:livewire,
    которая создает новый компонент Livewire
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить