Tutorial step‑by‑step ini memandu Anda menginstall Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta mengadopsi praktik terbaik untuk pengembangan aplikasi PHP modern.
1. Persyaratan Sistem
- PHP >= 8.2
- Composer 2.x
- Node.js >= 20 (npm atau Yarn)
- Database (MySQL, Postgres, SQLite, dsb.)
2. Instalasi Laravel 11
composer create-project laravel/laravel my-app "11.*" --prefer-dist
Masuk ke folder proyek:
cd my-app
2.1. Inisialisasi Git (opsional tetapi direkomendasikan)
git init
git add .
git commit -m "Initial commit - Laravel 11"
3. Setup Front‑end dengan Vite
Laravel 11 sudah menyertakan Vite sebagai bundler default.
npm install
npm run dev
Pastikan file vite.config.js berisi konfigurasi berikut (default sudah cocok):
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
export default defineConfig({
plugins: [laravel(['resources/css/app.css', 'resources/js/app.js'])],
});
4. Instalasi Laravel Breeze (Starter Kit)
composer require laravel/breeze --dev
php artisan breeze:install vue
npm install && npm run dev
Perintah di atas menginstal Breeze dengan stack Vue 3. Untuk React atau Blade, ganti parameter sesuai kebutuhan.
4.1. Migrasi Database
php artisan migrate
5. Menambahkan Laravel Sanctum untuk API Authentication
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Konfigurasi config/sanctum.php jika Anda menggunakan SPA:
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1')),
'same_site' => 'lax',
Tambah middleware di app/Http/Kernel.php:
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
5.1. Contoh Route API dengan Sanctum
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
6. Struktur Direktori dan Best Practice
- app/Models – Simpan semua Eloquent model.
- app/Http/Controllers/API – Pisahkan controller API dari web.
- routes/api.php – Definisikan endpoint API, gunakan
Route::apiResourcebila memungkinkan. - resources/js – Tempat file Vue/React komponen.
- resources/views – Blade template, gunakan komponen Blade untuk reusable UI.
6.1. Penggunaan Service Container
Binding Service di app/Providers/AppServiceProvider.php untuk memudahkan testing:
public function register()
{
$this->app->singleton(PaymentGateway::class, function ($app) {
return new StripeGateway(config('services.stripe.key'));
});
}
7. Testing Otomatis
Laravel 11 mendukung Pest dan PHPUnit. Contoh test API:
php artisan make:test UserApiTest --unit
// tests/Unit/UserApiTest.php
public function test_user_endpoint_requires_authentication()
{
$response = $this->getJson('/api/user');
$response->assertStatus(401);
}
8. Deployment – Optimasi Production
- Set environment variables pada server (
.env). - Cache konfigurasi & route:
php artisan config:cache
php artisan route:cache
php artisan view:cache
- Compile aset dengan Vite:
npm run build
- Gunakan PHP-FPM + Nginx atau Laravel Octane (Swoole) untuk performa tinggi.
9. Kesimpulan
Dengan mengikuti langkah‑langkah ini Anda memiliki proyek Laravel 11 modern yang siap dikembangkan, diuji, dan dideploy. Kombinasi Vite, Breeze, dan Sanctum memberikan fondasi front‑end cepat, otentikasi aman, serta arsitektur yang scalable.
Setup Laravel 11 dengan Vite, Breeze, dan Sanctum memberikan workflow pengembangan yang cepat, aman, dan mudah dipelihara. Ikuti best practice di atas untuk memastikan kode bersih, testable, serta siap produksi.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan PHP Framework yang cepat dan aman.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend