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 More


Tutorial step‑by‑step ini membahas cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite untuk asset bundling, menambahkan Breeze untuk scaffolding auth, serta mengamankan API dengan Sanctum. Ikuti panduan praktis ini untuk memulai proyek Laravel yang modern, cepat, dan aman pada tahun 2026.

1. Persiapan Lingkungan

1.1. Persyaratan Sistem

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (untuk Vite)
  • Database MySQL atau Postgres

1.2. Instalasi Composer dan Node

Pastikan kedua paket sudah terinstall dan terkonfigurasi di PATH.

composer --version
node -v
npm -v

2. Membuat Project Laravel 11 Baru

composer create-project laravel/laravel blog --prefer-dist "11.*"

Masuk ke folder project:

cd blog

3. Konfigurasi Vite (Asset Bundler Modern)

3.1. Instalasi Dependensi Front‑end

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

3.2. Update 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,
        }),
    ],
});

3.3. Sesuaikan Blade Layout

Ganti tag @vite di resources/views/layouts/app.blade.php:

<!-- resources/views/layouts/app.blade.php -->
<!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', 'Laravel') }}</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
    @yield('content')
</body>
</html>

3.4. Jalankan Development Server

npm run dev

Vite akan meng‑hot‑reload perubahan file JS/CSS secara otomatis.

4. Menambahkan Laravel Breeze untuk Authentication Scaffold

4.1. Instalasi Breeze

composer require laravel/breeze --dev
php artisan breeze:install vue

Opsional: gunakan react atau blade sesuai kebutuhan.

4.2. Install Front‑end Dependencies

npm install && npm run dev

4.3. Migrasi Database

php artisan migrate

Setelah ini, route /register dan /login sudah siap.

5. Mengamankan API dengan Laravel Sanctum

5.1. Instalasi Sanctum

composer require laravel/sanctum

5.2. Publish Config & Migrations

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

5.3. Tambahkan Middleware

Di app/Http/Kernel.php, tambahkan:

'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

5.4. Membuat Token API

// routes/api.php
use App\Models\User;
use Illuminate\Http\Request;

Route::post('/login', function (Request $request) {
    $request->validate([
        'email' => 'required|email',
        'password' => 'required',
        'device_name' => 'required'
    ]);
    $user = User::where('email', $request->email)->first();
    if (! $user || ! Hash::check($request->password, $user->password)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }
    $token = $user->createToken($request->device_name)->plainTextToken;
    return response()->json(['token' => $token]);
});

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

5.5. Mengkonsumsi API di Front‑end (Vue contoh)

import axios from 'axios';

async function login(){
    const res = await axios.post('/api/login', {
        email: '[email protected]',
        password: 'secret',
        device_name: 'web'
    });
    axios.defaults.headers.common['Authorization'] = `Bearer ${res.data.token}`;
}

6. Best Practice Modern untuk Proyek Laravel 11

  • Environment Variables: Simpan semua kredensial di .env dan jangan pernah commit file tersebut.
  • Database Migrations & Seeders: Selalu gunakan migration untuk perubahan skema dan seeder untuk data dummy.
  • Service Container: Bind service‑provider khusus di app/Providers/AppServiceProvider.php untuk memudahkan testing.
  • Testing: Tuliskan unit test dengan PHPUnit dan feature test dengan Laravel Pest untuk memastikan integritas kode.
  • Cache & Queue: Aktifkan Redis sebagai driver cache dan queue di .env (CACHE_DRIVER=redis, QUEUE_CONNECTION=redis).
  • Code Style: Gunakan Laravel Pint (composer require laravel/pint --dev) untuk standar coding.
  • Deploy: Manfaatkan Laravel Octane (Swoole) pada production untuk performa tinggi, dan gunakan CI/CD pipeline (GitHub Actions) yang menjalankan php artisan migrate --force setelah deploy.

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang terstruktur, cepat berkat Vite, lengkap dengan authentication scaffold dari Breeze, serta API yang aman melalui Sanctum. Terapkan best practice modern seperti service container, testing, dan caching untuk memastikan aplikasi tetap scalable dan maintainable di 2026.
Tutorial step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...