Tutorial step-by-step ini menjelaskan cara menginstal Laravel 11, mengonfigurasi Vite, menambahkan Laravel Breeze untuk otentikasi, serta mengamankan API dengan Sanctum, lengkap dengan contoh kode dan best practice terkini.
1. Persiapan Lingkungan
1.1. Pastikan Sistem Memenuhi Syarat
- PHP >= 8.2
- Composer terbaru
- Node.js >= 20 & npm atau Yarn
- Database (MySQL 8+, PostgreSQL, atau SQLite)
1.2. Instalasi Laravel Installer (Opsional)
composer global require laravel/installer
Pastikan ~/.composer/vendor/bin ada di PATH.
2. Membuat Proyek Laravel 11 Baru
laravel new blog --jetstream
# atau jika tidak pakai installer
composer create-project laravel/laravel blog "11.*"
Perintah di atas menghasilkan folder blog dengan Laravel 11.
3. Mengganti Mix dengan Vite (Default di Laravel 11)
3.1. Instalasi Dependensi Frontend
cd blog
npm install
3.2. Struktur Direktori
Pastikan file vite.config.js dan resources/js/app.js ada. Laravel 11 telah menyertakan konfigurasi Vite secara default.
3.3. Menjalankan Server Vite
npm run dev
Vite akan menampilkan URL hot-reload, biasanya http://localhost:5173.
4. Menambahkan Laravel Breeze (Frontend Minimal)
4.1. Instalasi Package Breeze
composer require laravel/breeze --dev
php artisan breeze:install vue
# atau react, blade, svelte sesuai kebutuhan
4.2. Install Dependencies & Build
npm install && npm run dev
4.3. Migrasi Database
php artisan migrate
Setelah migrasi, rute otentikasi (/login, /register) siap dipakai.
5. Mengamankan API dengan Laravel Sanctum
5.1. Instalasi Sanctum
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
5.2. 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.3. Membuat Token API
use App\Models\User;
$token = User::find(1)->createToken('mobile-app')->plainTextToken;
Gunakan token ini pada header Authorization: Bearer <token> untuk panggilan API.
6. Penataan Folder & Best Practice
- Domain‑Driven Structure: Buat folder
App/Domainuntuk layanan bisnis,App/Modelstetap untuk entitas. - Service Container: Daftarkan binding di
App/Providers/AppServiceProvider.phpuntuk memudahkan testing. - Form Request Validation: Hindari validasi di controller; gunakan
php artisan make:request StorePostRequest. - Resource Classes: Gunakan
php artisan make:resource PostResourceuntuk respons API konsisten. - Environment Variables: Simpan rahasia di
.envdan gunakanconfig:cacheuntuk produksi. - Cache & Queue: Aktifkan Redis atau Memcached di
.env, setCACHE_DRIVER=redisdanQUEUE_CONNECTION=redis.
7. Deploy ke Production
7.1. Optimasi Config & Routes
php artisan config:cache
php artisan route:cache
php artisan view:cache
7.2. Build Assets untuk Production
npm run build
# menghasilkan /public/build
7.3. Set Permission
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data .
7.4. Restart Queue Workers (jika memakai)
php artisan queue:restart
8. Testing & Debugging
- Jalankan
php artisan testuntuk unit & feature test. - Gunakan
Laravel Telescope(composer require laravel/telescope) untuk inspeksi request, query, dan error di development.
Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang modern, cepat berkat Vite, memiliki otentikasi standar lewat Breeze, serta API yang aman menggunakan Sanctum. Struktur folder yang terorganisir dan praktik caching/queue membuat aplikasi siap produksi skalabel dan mudah dipelihara.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web dengan Laravel, PHP Framework, dan Web Development.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar