Tutorial step‑by‑step ini memandu Anda menginstal Laravel 11 terbaru, mengkonfigurasi Vite untuk asset bundling, menyiapkan Breeze untuk scaffolding autentikasi, serta menambahkan Sanctum sebagai solusi API token‑based authentication.
1. Prasyarat
- PHP 8.3 atau lebih tinggi
- Composer versi terbaru
- Node.js 20+ dan npm atau Yarn
- Database MySQL/PostgreSQL/SQLite
2. Instalasi Laravel 11
composer create-project laravel/laravel nama‑proyek --prefer-dist
Perintah di atas mengunduh Laravel 11 (versi stabil pada 2026) beserta dependensi default.
2.1. Masuk ke direktori proyek
cd nama-proyek
3. Konfigurasi Environment
cp .env.example .env
php artisan key:generate
Edit file .env untuk menyesuaikan koneksi database dan nilai APP_URL.
4. Setup Vite (Asset Bundling)
Laravel 11 sudah menyertakan Vite secara default. Pastikan vite.config.js ada dan berisi konfigurasi berikut:
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,
}),
],
});
4.1. Install dependencies npm
npm install
npm run dev // untuk development
npm run build // untuk production
Best practice: gunakan npm ci di pipeline CI/CD untuk instalasi deterministik.
5. Instalasi Laravel Breeze
composer require laravel/breeze --dev
php artisan breeze:install vue
Perintah di atas menambahkan scaffolding UI berbasis Vue 3 + Vite. Untuk pilihan React atau Blade, ganti vue dengan react atau blade.
5.1. Migrasi database
php artisan migrate
5.2. Compile assets
npm run dev
6. Menambahkan Laravel Sanctum
Sanctum menyediakan autentikasi token API dan SPA.
composer require laravel/sanctum
6.1. Publish konfigurasi & migrasi
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
6.2. Middleware pada app/Http/Kernel.php
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
Tambahkan ke grup api jika ingin menggunakan SPA authentication.
6.3. Contoh penggunaan token
// Route API
Route::post('/login', function (Request $request) {
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
return response()->json(['message' => 'Invalid credentials'], 401);
}
$token = $user->createToken('api-token')->plainTextToken;
return response()->json(['token' => $token]);
});
// Protect route
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
7. Best Practice Modern
- Environment variables: gunakan
.env.exampleyang lengkap, jangan commit.env. - Testing: Laravel Pint untuk standar coding, PHPUnit & Pest untuk unit & feature test.
- Docker: buat
docker-compose.ymldengan service php, mysql, redis, dan nginx untuk development konsisten. - CI/CD: jalankan
php artisan test --coveragedannpm run lintpada pipeline GitHub Actions. - Cache & Queues: konfigurasikan Redis sebagai driver cache & queue di
config/cache.phpdanconfig/queue.php.
8. Deploy ke Production
- Build assets:
npm run build - Upload seluruh kode ke server (Git, FTP, atau Deploy via Laravel Forge)
- Jalankan migrasi:
php artisan migrate --force - Set permission storage:
chmod -R 775 storage bootstrap/cache - Cache konfigurasi & route:
php artisan config:cache && php artisan route:cache
9. Verifikasi Instalasi
Buka https://your-app.test (atau domain produksi) dan pastikan halaman welcome, login Breeze, serta endpoint /api/user mengembalikan data ketika token valid.
Dengan mengikuti tutorial ini Anda mendapatkan proyek Laravel 11 yang siap produksi, menggabungkan Vite untuk asset modern, Breeze untuk UI cepat, serta Sanctum untuk API token yang aman. Mengimplementasikan best practice seperti environment yang terisolasi, testing otomatis, dan CI/CD memastikan aplikasi Anda scalable, maintainable, dan siap menghadapi beban produksi di tahun 2026.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Ikuti langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk web development Laravel di 2026.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar