Panduan lengkap step-by-step untuk menginstal Laravel 11 terbaru, mengintegrasikan Vite, Breeze, dan Sanctum, serta menerapkan best practice keamanan dan pengembangan front‑end modern.
1. Persyaratan Sistem
- PHP >= 8.2
- Composer 2.x
- Node.js >= 20 dengan npm atau Yarn
- Database (MySQL, PostgreSQL, SQLite, dsb.)
2. Instalasi Laravel 11
composer create-project laravel/laravel:^11.0 my-project
cd my-project
Perintah di atas membuat proyek baru dengan Laravel 11 dan masuk ke direktori proyek.
3. Mengatur Vite (Asset Bundler bawaan)
Laravel 11 sudah terkonfigurasi dengan Vite secara default. Pastikan file vite.config.js ada.
npm install
npm run dev
Jalankan npm run dev untuk memulai server Vite. Pada resources/js/app.js dan resources/css/app.css Anda dapat menulis kode Vue, React, atau plain JavaScript.
4. Instalasi Laravel Breeze (Starter Kit)
composer require laravel/breeze --dev
php artisan breeze:install vue
npm install
npm run dev
Perintah di atas menambahkan autentikasi sederhana berbasis Vue, route, controller, dan view Blade. Pilihan vue dapat diganti dengan react atau blade sesuai kebutuhan.
5. Menyiapkan Laravel Sanctum (API Token & SPA Auth)
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Sanctum menyediakan dua mode: token‑based API dan cookie‑based SPA authentication. Kita akan mengaktifkan cookie‑based untuk SPA Vue yang sudah di‑install oleh Breeze.
5.1 Konfigurasi Middleware
Tambahkan EnsureFrontendRequestsAreStateful::class ke grup api di app/Http/Kernel.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
5.2 Set CORS
Edit config/cors.php agar domain front‑end (misalnya http://localhost:5173) di‑allow:
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_origins' => ['http://localhost:5173'],
'allowed_headers' => ['*'],
'allowed_methods' => ['*'],
'supports_credentials' => true,
5.3 Front‑end: CSRF & Auth
Di resources/js/app.js tambahkan:
import { createApp } from 'vue'
import { router } from './router'
import axios from 'axios'
axios.defaults.withCredentials = true
axios.defaults.baseURL = import.meta.env.VITE_APP_URL || 'http://localhost:8000'
createApp({})
.use(router)
.mount('#app')
6. Best Practice
- Environment Variables: Gunakan
.env.exampleuntuk mendefinisikanAPP_URL,VITE_APP_URL, dan kredensial database. - Git Hook: Tambahkan pre‑commit hook untuk menjalankan
php artisan formatataunpm run lintagar kode tetap konsisten. - Docker: Buat
docker-compose.ymldengan layananphp,mysql,node, dannginxuntuk environment production‑like. - Testing: Gunakan
php artisan testuntuk Unit & Feature tests, sertacypressatauplaywrightuntuk E2E pada front‑end Vue. - Cache & Config Optimisation: Jalankan
php artisan config:cachedanphp artisan route:cachesebelum deploy.
7. Deploy ke Production
- Build assets:
npm run build - Upload seluruh kode ke server (Git, FTP, atau CI/CD).
- Jalankan migrasi:
php artisan migrate --force - Cache konfigurasi & route.
- Set permission
storagedanbootstrap/cacheagar dapat ditulis web server.
Setelah semua langkah selesai, aplikasi Laravel 11 Anda siap melayani request SPA dengan autentikasi Sanctum dan front‑end modern yang di‑bundle oleh Vite.
Dengan mengikuti langkah‑langkah di atas, Anda memperoleh sebuah proyek Laravel 11 yang modern, aman, dan siap untuk pengembangan berkelanjutan. Integrasi Vite, Breeze, dan Sanctum memberikan workflow front‑end yang cepat, autentikasi SPA yang handal, serta fondasi kode yang mudah dipelihara melalui best practice terbaru.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah instalasi, konfigurasi, contoh kode, serta best practice modern untuk pengembangan web PHP Framework terkini.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar