News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Livewire)


Tutorial step-by-step ini mengajarkan cara menginstall Laravel 11 terbaru, mengintegrasikan Vite, Breeze, Sanctum, serta Livewire untuk membangun aplikasi web modern, aman, dan responsif di tahun 2026.

1. Persiapan Lingkungan

1.1. Persyaratan Sistem

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 dengan npm atau Yarn
  • Database (MySQL 8+, PostgreSQL, atau SQLite)

1.2. Buat Project Laravel Baru

composer create-project laravel/laravel my-app "11.*"

Perintah ini menginstall Laravel 11 dengan semua dependensi default.

2. Instalasi Vite (Frontend Asset Bundler)

2.1. Hapus Laravel Mix

rm -rf webpack.mix.js resources/js/app.js resources/sass/app.scss

2.2. Instalasi Vite dan plugin Laravel

npm install --save-dev vite laravel-vite-plugin

2.3. Buat file konfigurasi vite.config.js

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
    ],
});

2.4. Tambahkan entry point

// resources/js/app.js
import './bootstrap';

// resources/css/app.css
@import "../node_modules/@tailwindcss/forms/dist/forms.css";

2.5. Update blade layout

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ config('app.name') }}</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
    @yield('content')
</body>
</html>

Vite kini menjadi bundler default, memberikan HMR cepat.

3. Instalasi Laravel Breeze (Starter Kit)

3.1. Pasang Breeze via Composer

composer require laravel/breeze --dev

3.2. Install scaffolding dengan Blade + Vite

php artisan breeze:install blade

3.3. Jalankan migrasi dan npm

php artisan migrate
npm install
npm run dev

Anda kini memiliki autentikasi dasar (register, login, reset password) yang terintegrasi dengan Vite.

4. Integrasi Laravel Sanctum (API Token & SPA Authentication)

4.1. Instal Sanctum

composer require laravel/sanctum

4.2. Publikasi konfigurasi & migrasi

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

4.3. Tambahkan middleware ke kernel

// app/Http/Kernel.php
'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

4.4. Buat route API contoh

// routes/api.php
use App\Http\Controllers\API\UserController;

Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'show']);

Sanctum memungkinkan SPA yang dibangun dengan Blade atau Vue/React berkomunikasi aman via cookie.

5. Menambahkan Livewire (Komponen Interaktif)

5.1. Instal Livewire latest

composer require livewire/livewire
npm install --save-dev @livewire/vite-plugin

5.2. Update vite.config.js

import livewire from '@livewire/vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
        livewire(),
    ],
});

5.3. Buat komponen Livewire

php artisan make:livewire Counter

5.4. Implementasi contoh Counter

// app/Http/Livewire/Counter.php
namespace App\Http\Livewire;

use Livewire\Component;

class Counter extends Component
{
    public $count = 0;

    public function increment()
    {
        $this->count++;
    }

    public function render()
    {
        return view('livewire.counter');
    }
}
<!-- resources/views/livewire/counter.blade.php -->
<h2>Count: {{ $count }}</h2> <button wire:click="increment" class="px-4 py-2 bg-blue-600 text-white rounded">Increment</button> </div>

5.5. Gunakan di halaman Blade

<!-- resources/views/dashboard.blade.php -->
<x-app-layout>
    <x-slot name="header">
        {{ __('Dashboard') }}
    </x-slot>
    <livewire:counter />
</x-app-layout>

Livewire bekerja mulus dengan Vite dan Breeze.

6. Best Practice Modern (2026)

  • Environment Variables: Simpan kunci API, DB credentials, dan Sanctum secret di .env, never commit.
  • Typed Route Names: Gunakan Route::name('profile.show') dan route('profile.show') untuk menghindari hard‑code URL.
  • PHPStan & Laravel Pint: Tambahkan composer require --dev phpstan/phpstan laravel/pint dan konfigurasi strict level 9.
  • Testing: Buat Feature test untuk API Sanctum dan unit test untuk Livewire dengan php artisan test.
  • Docker: Gunakan official Laravel Sail (Docker) untuk konsistensi lingkungan pengembangan.
  • Cache Config & Routes: Deploy dengan php artisan config:cache dan php artisan route:cache untuk performa.

Ikuti langkah di atas, dan Anda akan memiliki stack Laravel 11 yang siap produksi dengan Vite, Breeze, Sanctum, dan Livewire.


Dengan mengikuti tutorial ini, Anda telah menyiapkan proyek Laravel 11 modern yang memanfaatkan Vite untuk asset bundling, Breeze untuk scaffold autentikasi, Sanctum untuk keamanan API, serta Livewire untuk interaktivitas UI tanpa menulis JavaScript berlebih. Ikuti best practice 2026 untuk menjaga kode tetap bersih, teruji, dan siap skala.
Panduan step-by-step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan Livewire. Praktik modern 2026 untuk aplikasi PHP Framework cepat, aman, dan interaktif.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...