News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Setup Laravel 11 dengan Praktik Terbaik Modern: Vite, Breeze, Sanctum, dan Docker


Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, dan Docker demi development yang cepat, aman, dan scalable di tahun 2026.

1. Prasyarat

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (npm atau yarn)
  • Docker & Docker Compose (opsional untuk lingkungan kontainer)
  • Git

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd blog

3. Mengganti Laravel Mix dengan Vite (default di Laravel 11)

Laravel 11 sudah menyertakan Vite secara bawaan. Pastikan file vite.config.js ada dan package.json berisi skrip berikut:

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

Instal dependensi:

npm install

4. Menambahkan Laravel Breeze (frontend starter)

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

Jika ingin React atau Blade, ganti vue dengan react atau blade. Lalu jalankan:

npm install && npm run dev

5. Mengonfigurasi Laravel Sanctum untuk API Authentication

  1. Install Sanctum:
composer require laravel/sanctum
  1. Publish konfigurasi & migrasi:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
  1. Tambahkan middleware ke app/Http/Kernel.php:
'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],
  1. Gunakan token atau SPA authentication di controller:
// Contoh login API
public function login(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]);
}

6. Dockerisasi Proyek (opsional, tapi disarankan)

Buat file docker-compose.yml:

version: '3.8'
services:
  app:
    image: php:8.2-fpm
    container_name: laravel_app
    working_dir: /var/www/html
    volumes:
      - ./:/var/www/html
    networks:
      - laravel
    depends_on:
      - db
  web:
    image: nginx:alpine
    container_name: laravel_web
    ports:
      - "8080:80"
    volumes:
      - ./:/var/www/html
      - ./nginx/default.conf:/etc/nginx/conf.d/default.conf
    networks:
      - laravel
  db:
    image: mysql:8.0
    container_name: laravel_db
    environment:
      MYSQL_ROOT_PASSWORD: secret
      MYSQL_DATABASE: laravel
      MYSQL_USER: laravel
      MYSQL_PASSWORD: secret
    ports:
      - "3306:3306"
    networks:
      - laravel
networks:
  laravel:
    driver: bridge

Tambahkan file Nginx nginx/default.conf:

server {
    listen 80;
    server_name localhost;
    root /var/www/html/public;
    index index.php index.html;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        fastcgi_pass app:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Jalankan container:

docker-compose up -d

7. Testing & Build Production

  1. Run unit tests:
php artisan test
  1. Build assets for production:
npm run build
  1. Deploy ke server (contoh dengan Laravel Forge atau VPS): pastikan .env berisi APP_ENV=production dan APP_DEBUG=false.

8. Best Practice Modern (2026)

  • Gunakan PHPStan atau Psalm untuk static analysis.
  • Aktifkan cache route & config (php artisan route:cache, php artisan config:cache).
  • Gunakan queue driver Redis untuk background jobs.
  • Pastikan .env tidak pernah di‑commit; gunakan Laravel Envoy atau GitHub Secrets untuk CI/CD.
  • Gunakan Laravel Telescope hanya di environment development.
  • Implementasikan rate‑limiting pada API dengan ThrottleRequests middleware.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang didukung Vite untuk asset modern, Breeze sebagai starter UI, Sanctum untuk otentikasi API, dan Docker untuk lingkungan konsisten. Mengadopsi best practice 2026 seperti static analysis, queue, dan rate‑limiting akan meningkatkan kualitas, keamanan, dan skalabilitas aplikasi Anda.
Panduan step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan Docker. Cocok untuk developer PHP Framework yang ingin praktik modern di tahun 2026.

Laravel,PHP Framework,Web Development,Vite,Breeze,Sanctum,Docker

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...