News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Panduan Lengkap Setup Laravel 10 Terbaru dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Tutorial step-by-step untuk menginstal Laravel 10, mengkonfigurasi Vite, menambahkan Breeze untuk scaffolding UI, serta mengamankan API dengan Sanctum. Cocok untuk pengembang yang ingin memulai proyek modern pada tahun 2026.

1. Persiapan Lingkungan

1.1. Sistem Prasyarat

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 LTS
  • npm atau Yarn
  • Database MySQL 8 atau PostgreSQL 15

1.2. Membuat Project Laravel

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

Masuk ke direktori proyek:

cd blog

2. Mengganti Mix dengan Vite

2.1. Instalasi Vite

composer require laravel/vite-plugin
npm install --save-dev vite laravel-vite-plugin

2.2. Konfigurasi vite.config.js

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

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

2.3. Update Blade Layout

Ganti tag @vite pada 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>@yield('title')</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
    @yield('content')
</body>
</html>

3. Menambahkan Breeze untuk Authentication UI

3.1. Instalasi Breeze

composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run dev

3.2. Migrasi Database

php artisan migrate

3.3. Verifikasi

Buka http://localhost:8000/register untuk memastikan form registrasi berfungsi.

4. Mengamankan API dengan Sanctum

4.1. Instalasi Sanctum

composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

4.2. Konfigurasi Middleware

Tambahkan EnsureFrontendRequestsAreStateful::class ke api middleware grup pada app/Http/Kernel.php:

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

4.3. Membuat Token API

// App/Http/Controllers/AuthController.php
public function token(Request $request)
{
    $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('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
}

4.4. Menggunakan Token di Frontend

Contoh dengan fetch API:

fetch('/api/user', {
  headers: {
    'Authorization': `Bearer ${token}`,
    'Accept': 'application/json'
  }
}).then(res => res.json()).then(data => console.log(data));

5. Best Practice Modern

  • Environment Variables: Simpan semua kredensial di .env dan gunakan config:cache setelah perubahan.
  • Cache Config & Routes: php artisan config:cache & php artisan route:cache untuk produksi.
  • Deploy dengan Docker: Gunakan image resmi PHP 8.2‑fpm + Nginx, volume untuk storage dan vendor.
  • Testing: Tulis Feature Test dengan Pest atau PHPUnit untuk endpoint API Sanctum.
  • Code Style: Aktifkan Laravel Pint untuk standar coding otomatis.

Dengan mengikuti langkah-langkah di atas, Anda memiliki proyek Laravel 10 yang dikonfigurasi dengan Vite, UI modern dari Breeze, serta API aman menggunakan Sanctum. Semua ini mencerminkan best practice Laravel pada 2026, siap untuk skala produksi dan pengembangan berkelanjutan.
Tutorial lengkap setup Laravel 10 dengan Vite, Breeze, dan Sanctum. Langkah demi langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web tahun 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...