Laravel Livewire adalah sebuah framework full-stack untuk Laravel yang memungkinkan pengembangan aplikasi web interaktif tanpa perlu menulis JavaScript secara langsung. Dengan Livewire, pengembang dapat membangun komponen yang bersifat dinamis, seperti form, pagination, filtering, dan fitur lainnya yang biasanya memerlukan JavaScript, hanya dengan menggunakan PHP.
Instalasi
- Laravel version 10 or later
- PHP version 8.1 or later
Jalankan perintah
composer require livewire/livewire
Pastikan Alpine tidak sudah terpasang
Jika aplikasi yang Anda gunakan sudah memiliki AlpineJS yang terpasang, Anda perlu menghapusnya agar Livewire dapat berfungsi dengan benar; jika tidak, Alpine akan dimuat dua kali dan Livewire tidak akan berfungsi. Sebagai contoh, jika Anda menginstal starter kit Laravel Breeze "Blade with Alpine", Anda perlu menghapus Alpine dari `resources/js/app.js`.
Membuat komponen livewire
php artisan make:livewire counter
Perintah tersebut akan menghasilkan 2 file yaitu :
app/Livewire/Counter.php
resources/views/livewire/counter.blade.php
Membuat Class
Membuat Class pada file app/Livewire/Counter.php
Membuat View
Membuat view pada file resources/views/livewire/counter.blade.php
<?php
namespace App\Livewire;
use Livewire\Component;
class Counter extends Component
{
public $count = 1;
public function increment()
{
$this->count++;
}
public function decrement()
{
$this->count--;
}
public function render()
{
return view('livewire.counter');
}
}
Memuat route
use App\Livewire\Counter;
Route::get('/counter', Counter::class);
Membuat template layout
php artisan livewire:layout