Pelajari cara menginstal Laravel 11 terbaru dan konfigurasikan stack modern penuh—Vite untuk asset bundling, Breeze untuk starter kit, serta Sanctum untuk API authentication—dengan langkah‑langkah terperinci dan best practice 2026.
1. Persiapan Lingkungan
Pastikan sistem Anda memenuhi persyaratan minimum Laravel 11:
- PHP >= 8.3
- Composer terbaru
- Node.js >= 20 & npm/yarn
- Database (MySQL 8.0+, PostgreSQL, atau SQLite)
1.1 Instalasi Composer dan Laravel Installer
composer global require laravel/installer
export PATH="$HOME/.composer/vendor/bin:$PATH" # Linux/macOS
1.2 Install Node.js & Vite
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
npm install -g npm@latest
2. Membuat Project Laravel 11
laravel new blog --jetstream=none --stack=vite
# atau dengan Composer
composer create-project laravel/laravel blog "11.*" --prefer-dist
cd blog
Opsi --stack=vite otomatis mengaktifkan Vite sebagai bundler.
3. Mengintegrasikan Laravel Breeze (Starter Kit)
composer require laravel/breeze --dev
php artisan breeze:install vue # pilih stack Vue 3 atau react, atau blade
npm install && npm run dev
Breeze menyediakan scaffolding autentikasi (login, register, reset password) yang telah terhubung dengan Vite.
3.1 Menjalankan Migration
php artisan migrate
4. Menambahkan Laravel Sanctum untuk API Authentication
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api guard di config/sanctum.php jika aplikasi SPA berada di domain yang sama.
4.1 Konfigurasi Guard
// config/auth.php
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'sanctum',
'provider' => 'users',
],
],
4.2 Contoh Endpoint API
use Illuminate\Http\Request;
use App\Models\User;
Route::post('/login', function (Request $request) {
$credentials = $request->only('email', 'password');
if (!Auth::attempt($credentials)) {
return response()->json(['message' => 'Invalid credentials'], 401);
}
$token = $request->user()->createToken('spa-token')->plainTextToken;
return response()->json(['token' => $token]);
});
5. Optimasi Vite & Asset Management
5.1 Mengaktifkan Hot Module Replacement (HMR)
npm run dev -- --host
Gunakan VITE_APP_URL di .env untuk menyesuaikan URL dev server.
5.2 Build Production
npm run build
php artisan config:cache
php artisan route:cache
php artisan view:cache
6. Best Practice Modern (2026)
- Environment Segregation: Simpan rahasia di
.env.exampledan gunakan Laravel Envoy atau Docker untuk konsistensi. - Typed DTOs & Form Requests: Hindari validasi di controller, gunakan
php artisan make:requestdengan tipe data PHP 8.3. - Database Migration Squashing: Setelah 10+ migrasi, gunakan
php artisan schema:dumpuntuk mempercepat deployment. - Feature Flags: Integrasikan
spatie/laravel-feature-flagsuntuk rollout bertahap. - Testing: Jalankan
pestphp/pest+laravel/pintdalam CI/CD, pastikan coverage > 80%.
7. Deploy ke Production (Contoh di Laravel Forge)
- Push kode ke repository Git (GitHub, GitLab, atau Bitbucket).
- Buat site baru di Forge, pilih PHP 8.3 & nginx.
- Set environment variables di Forge, termasuk
APP_ENV=productiondanVITE_APP_URL. - Enable “Zero‑downtime deployment” dan tambahkan script post‑deployment:
npm ci && npm run build && php artisan migrate --force && php artisan config:cache && php artisan route:cache - Konfigurasi scheduler dan queue worker (redis) melalui Forge UI.
Setelah selesai, aplikasi Anda siap melayani traffic dengan stack modern Laravel 11.
Dengan mengikuti langkah‑langkah di atas, Anda mendapatkan instalasi Laravel 11 yang sepenuhnya modern—menggunakan Vite untuk bundling cepat, Breeze untuk UI starter kit, serta Sanctum untuk API security. Terapkan best practice 2026 seperti DTO, feature flags, dan migration squashing untuk menjaga kode tetap bersih, scalable, dan mudah dideploy.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern tahun 2026. Langkah demi langkah instalasi, konfigurasi, contoh kode, dan deployment.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar