News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Setup Laravel 11 dengan Best Practice Modern: Vite, Breeze, Sanctum, dan More


Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru serta mengintegrasikan Vite, Breeze, Sanctum, dan best practice keamanan serta pengembangan modern di tahun 2026.

1. Prasyarat

Pastikan sistem Anda sudah terpasang:

  • PHP 8.3 atau lebih tinggi
  • Composer 2.x
  • Node.js 20.x dan npm 10.x
  • Database MySQL/PostgreSQL (opsional)

2. Instalasi Laravel 11

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

Perintah di atas mengunduh Laravel 11 terbaru dalam folder blog.

3. Mengganti Laravel Mix dengan Vite (default)

Laravel 11 sudah menyertakan Vite. Pastikan vite.config.js ada dan package.json berisi script berikut:

"scripts": {
    "dev": "vite",
    "build": "vite build"
}

Install dependensi front‑end:

npm install
npm run dev

4. Menambahkan Laravel Breeze (Starter Kit)

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

Breeze menyediakan autentikasi dasar dengan Vue 3 + Vite. Jalankan migrasi:

php artisan migrate

5. Mengamankan API dengan Laravel Sanctum

Sanctum memungkinkan token‑based serta SPA authentication.

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

Tambahkan middleware ke app/Http/Kernel.php:

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

Konfigurasi config/sanctum.php untuk stateful domains (mis. localhost, 127.0.0.1).

6. Struktur Direktori Modern

  • app/Models – model Eloquent.
  • app/Http/Controllers/Api – controller API.
  • routes/api.php – route API yang diproteksi Sanctum.
  • resources/js – komponen Vue 3 dengan setup syntax.
  • resources/css/app.css – Tailwind CSS (bawaan Breeze).

7. Contoh Implementasi API dengan Sanctum

Controller:

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Models\Post;
use Illuminate\Http\Request;

class PostController extends Controller
{
    public function index()
    {
        return Post::latest()->paginate(10);
    }

    public function store(Request $request)
    {
        $data = $request->validate([
            'title' => 'required|string|max:255',
            'body'  => 'required|string',
        ]);
        $post = $request->user()->posts()->create($data);
        return response()->json($post, 201);
    }
}

Routes (routes/api.php):

use App\Http\Controllers\Api\PostController;

Route::middleware('auth:sanctum')->group(function () {
    Route::get('/posts', [PostController::class, 'index']);
    Route::post('/posts', [PostController::class, 'store']);
});

8. Testing dengan Pest (opsional)

composer require pestphp/pest --dev
php artisan pest:install

Buat file tests/Feature/PostTest.php dan gunakan actingAs untuk menguji endpoint yang diproteksi Sanctum.

9. Deployment Best Practice

  • Gunakan php artisan config:cache dan php artisan route:cache.
  • Build assets dengan npm run build sebelum deploy.
  • Set environment APP_ENV=production dan APP_DEBUG=false.
  • Gunakan queue worker (Laravel Horizon) untuk job intensif.
  • Aktifkan HTTPS melalui load balancer atau web server.

10. Monitoring & Logging

Integrasikan Spatie Laravel Ray untuk debugging lokal, dan gunakan Laravel Telescope di staging.


Dengan mengikuti langkah‑step di atas, Anda memiliki aplikasi Laravel 11 yang modern, terstruktur, dan aman. Vite mempercepat proses front‑end, Breeze memberi starter kit autentikasi, dan Sanctum memastikan API dapat diakses secara aman oleh SPA atau mobile app. Terapkan best practice deployment untuk memastikan aplikasi siap produksi di 2026.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web di tahun 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...