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)
- Set konfigurasi produksi di
.env.production(APP_ENV=production, APP_DEBUG=false). - Jalankan optimalisasi:
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache
npm run build
php artisan storage:link untuk public storage.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