Tutorial step‑by‑step ini menjelaskan cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, dan Sanctum untuk pengembangan aplikasi web modern dengan PHP Framework Laravel.
1. Prerequisite & Persiapan Lingkungan
Pastikan sistem Anda memenuhi persyaratan minimum Laravel 11:
- PHP >= 8.2
- Composer terbaru
- Node.js >= 20 dengan npm atau Yarn
- Database MySQL/PostgreSQL (opsional untuk contoh)
Langkah 1: Install Composer dan Laravel Installer
composer global require laravel/installer
export PATH="$HOME/.config/composer/vendor/bin:$PATH"
Verifikasi instalasi:
laravel --version
2. Membuat Project Laravel 11 dengan Vite
Langkah 2: Buat proyek baru
laravel new myapp --jetstream
# atau jika tidak pakai Jetstream
laravel new myapp
cd myapp
Laravel 11 secara default sudah mengintegrasikan Vite sebagai bundler front‑end.
Langkah 3: Instalasi dependensi Node
npm install
# atau menggunakan Yarn
yarn
Jalankan server dev untuk memastikan Vite bekerja:
npm run dev
3. Menambahkan Laravel Breeze (Auth Starter Kit)
Langkah 4: Install Breeze via Composer
composer require laravel/breeze --dev
php artisan breeze:install vue
# atau gunakan blade/statis
# php artisan breeze:install blade
Perintah ini men‑scaffold route, controller, view, dan file Vue (jika dipilih).
Langkah 5: Compile aset front‑end
npm run dev
Setelah selesai, akses http://localhost:8000 dan Anda sudah melihat halaman landing Breeze.
4. Mengkonfigurasi Laravel Sanctum untuk API Authentication
Langkah 6: Install Sanctum
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Pastikan tabel personal_access_tokens telah terbuat.
Langkah 7: Tambahkan Middleware Sanctum
Di app/Http/Kernel.php, pastikan grup api mengandung middleware EnsureFrontendRequestsAreStateful::class untuk SPA:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Langkah 8: Buat route API yang dilindungi
// routes/api.php
use App\Http\Controllers\API\UserController;
Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'show']);
Langkah 9: Implementasi token pada Front‑End (Vue)
import axios from 'axios';
// Login dan simpan cookie session (Sanctum menggunakan cookie)
await axios.post('/login', {email, password});
// Request ke endpoint yang dilindungi
const {data} = await axios.get('/api/user');
console.log(data);
5. Best Practice Modern
- Environment Variables: Simpan kredensial database, API keys, dan
APP_KEYdi.env. Jangan pernah commit file ini. - Cache Config & Routes: Pada production jalankan
php artisan config:cachedanphp artisan route:cache. - Static Asset Versioning: Vite sudah menambahkan hash pada file build; pastikan
mix()diganti denganvite()pada Blade. - Testing: Gunakan PHPUnit & Pest untuk unit & feature test. Contoh:
php artisan test. - Security: Aktifkan
SanctumSanctum::usePersonalAccessTokenModel()hanya bila diperlukan, dan setSESSION_SECURE_COOKIE=truedi production.
6. Deploy ke Server Production
Langkah 10: Build assets
npm run build
Langkah 11: Optimasi Artisan
php artisan optimize
php artisan view:cache
php artisan route:cache
php artisan event:cache
Langkah 12: Set Permissions & Restart Queue
chown -R www-data:www-data storage bootstrap/cache
php artisan queue:restart
Setelah semua langkah selesai, aplikasi Laravel 11 Anda siap melayani trafik dengan stack modern Vite, Breeze, dan Sanctum.
Dengan mengikuti tutorial ini, Anda telah menyiapkan environment Laravel 11 lengkap dengan Vite untuk asset bundling, Breeze sebagai starter kit authentication, dan Sanctum untuk API token‑based security. Mengikuti best practice modern akan memastikan aplikasi Anda performant, aman, dan mudah dipelihara di lingkungan produksi.
Tutorial step‑by‑step setup Laravel 11 modern dengan Vite, Breeze, dan Sanctum. Ikuti panduan instalasi, konfigurasi, contoh kode, dan best practice untuk pengembangan web menggunakan Laravel, PHP Framework, dan Web Development.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar