Pelajari cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, dan Sanctum untuk proyek full‑stack yang aman dan efisien, lengkap dengan contoh kode dan best practice.
1. Persyaratan Sistem
Pastikan Anda memiliki:
- PHP ^8.2
- Composer 2.x
- Node.js 20.x & npm 10.x
- Database (MySQL, PostgreSQL, atau SQLite)
2. Instalasi Laravel 11
composer create-project laravel/laravel:^11 my-app
cd my-app
Perintah di atas akan mengunduh Laravel 11 stabil dan membuat folder my-app.
3. Mengaktifkan Vite
Laravel 11 sudah menyertakan Vite secara default. Pastikan vite.config.js ada di root proyek. Install dependensi front‑end:
npm install
npm run dev
Gunakan @vite di Blade untuk meng‑load aset:
<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Laravel 11 + Vite</title>
@vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
<h1 class="text-2xl">Hello Vite!</h1>
</body>
</html>
4. Menambahkan Laravel Breeze (Tailwind + Blade)
composer require laravel/breeze --dev
php artisan breeze:install blade
npm install && npm run dev
php artisan migrate
Perintah di atas men‑generate scaffolding autentikasi berbasis Blade dan Tailwind CSS. Untuk SPA dengan React/Vue, gunakan --react atau --vue pada instalasi.
5. Mengintegrasikan Laravel Sanctum untuk API Token & SPA Authentication
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke api middleware group di app/Http/Kernel.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Contoh route autentikasi SPA:
// routes/web.php
use App\Http\Controllers\Auth\AuthenticatedSessionController;
Route::post('/login', [AuthenticatedSessionController::class, 'store']);
Route::post('/logout', [AuthenticatedSessionController::class, 'destroy']);
Dan contoh API yang dilindungi:
// routes/api.php
Route::middleware('auth:sanctum')->get('/user', function (\Illuminate\Http\Request $request) {
return $request->user();
});
6. Best Practice Modern
- Environment Files: Simpan kunci rahasia di
.envdan jangan pernah commit. - Cache Config & Routes: Jalankan
php artisan config:cachedanphp artisan route:cachepada produksi. - Versioning Assets: Vite otomatis menambahkan hash; pastikan
APP_ENV=productionsaat deploy. - Database Migration: Gunakan
php artisan migrate:fresh --seeddi CI untuk memastikan konsistensi. - Testing: Tambahkan paket
pestphp/pestatauphpunit/phpunitdan tulis tes fitur untuk auth.
7. Deploy ke Production (Contoh di Laravel Forge)
- Push kode ke repository Git (GitHub/GitLab).
- Buat site baru di Forge, pilih PHP 8.2, dan hubungkan repository.
- Set environment variables (APP_KEY, DB_*, SANCTUM_STATEFUL_DOMAINS).
Jalankanphp artisan migrate --forcedannpm install && npm run build. - Enable queue worker jika menggunakan email verification atau job.
- Konfigurasikan SSL melalui Let’s Encrypt.
Setelah semua langkah selesai, aplikasi Laravel 11 Anda siap melayani trafik dengan stack modern.
Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang terstruktur, menggunakan Vite sebagai bundler front‑end, Breeze untuk scaffolding autentikasi, dan Sanctum untuk keamanan API/SPAs. Praktik terbaik seperti caching konfigurasi, versioning aset, dan deployment terotomatis memastikan aplikasi skalabel, aman, dan siap produksi.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Ikuti langkah demi langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk proyek PHP Framework terkini.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar