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 lainnya)


Tutorial step-by-step untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, serta menerapkan best practice modern dalam pengembangan aplikasi web dengan Laravel.

1. Prasyarat

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 dengan npm atau Yarn
  • Database MySQL/MariaDB atau PostgreSQL

2. Instalasi Laravel 11

composer create-project laravel/laravel my-app "^11.0"

Masuk ke folder proyek:

cd my-app

Penjelasan

Perintah di atas mengunduh versi stabil Laravel 11 beserta dependensi default.

3. Setup Vite (Asset Bundler Modern)

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

Tambahkan skrip ke package.json:

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

Bangun file 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,
        }),
    ],
});

Penjelasan

Vite menggantikan Laravel Mix, memberikan hot‑module replacement (HMR) yang jauh lebih cepat.

4. Instalasi Laravel Breeze (Starter Kit)

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

Jika menggunakan React:

php artisan breeze:install react

Penjelasan

Breeze menyediakan autentikasi dasar, routing, dan tampilan dengan Tailwind CSS, cocok untuk proyek modern.

5. Konfigurasi Laravel Sanctum (API Token & 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,
],

Configure .env untuk SPA domain:

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost

Contoh penggunaan token

// Generate token
$token = $user->createToken('api-token')->plainTextToken;

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

Penjelasan

Sanctum memungkinkan autentikasi cookie‑based untuk SPA serta token‑based untuk API mobile.

6. Struktur Direktori Modern (Best Practice)

  • app/Actions – kelas single‑action (command pattern).
  • app/Enums – enum PHP 8.2 untuk status.
  • app/Models – tetap, gunakan tipe properti.
  • app/Observers – untuk event model.
  • resources/js – komponen Vue/React terpisah per fitur.
  • tests/Feature – gunakan PestPHP atau PHPUnit modern.

7. Pengaturan Environment & Caching

# .env
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost

CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis

Instal Redis:

composer require predis/predis

8. Deploy ke Production (Laravel 11)

  1. Set konfigurasi produksi di .env.production (APP_ENV=production, APP_DEBUG=false).
  2. Jalankan optimalisasi:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
npm run build
  • Gunakan php artisan storage:link untuk public storage.
  • Pastikan permission folder storage & bootstrap/cache dapat ditulis oleh web server.
  • 9. Testing & CI/CD (Best Practice)

    Contoh file .github/workflows/laravel.yml:

    name: Laravel CI
    on: [push, pull_request]
    jobs:
      tests:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Setup PHP
            uses: shivammathur/setup-php@v2
            with:
              php-version: '8.2'
          - name: Install Dependencies
            run: |
              composer install --prefer-dist --no-progress --no-suggest
              npm ci
          - name: Run Tests
            run: php artisan test --parallel

    10. Kesimpulan

    Dengan mengikuti langkah di atas, Anda memiliki fondasi Laravel 11 yang modern, cepat, dan aman. Vite mempercepat front‑end, Breeze memberi scaffolding autentikasi, dan Sanctum melengkapi kebutuhan API/SPA. Terapkan struktur kode bersih serta caching dan CI/CD untuk produksi yang handal.


    Laravel 11 menyediakan ekosistem lengkap untuk pengembangan aplikasi web modern. Menggabungkan Vite, Breeze, dan Sanctum serta mengikuti best practice struktur kode, caching, dan CI/CD akan meningkatkan produktivitas tim, performa aplikasi, dan keamanan proyek Anda.
    Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern. Panduan instalasi, konfigurasi, contoh kode, dan deployment produksi.

    Laravel,PHP Framework,Web Development

    #Laravel #LaravelIndonesia #PHP #WebDev #Backend

    Tidak ada komentar:

    Posting Komentar

    Most Read

    Loading...

    Tutorial

    Loading...

    Packages

    Loading...