Tutorial step‑by‑step ini memandu Anda menginstal Laravel 11 terbaru, mengkonfigurasi bundler Vite, otentikasi dengan Breeze & Sanctum, serta menyiapkan lingkungan pengembangan modern untuk proyek PHP Framework terbaik.
1. Persiapan Lingkungan
Pastikan sistem Anda memiliki:
- PHP >= 8.2
- Composer 2.x
- Node.js >= 20.x & npm
- Database MySQL/PostgreSQL (opsional)
1.1 Verifikasi Versi
php -v
composer -V
node -v
npm -v
2. Instalasi Laravel 11
composer create-project laravel/laravel my-app "11.*"
Masuk ke direktori proyek:
cd my-app
3. Konfigurasi Vite (Bundler Frontend)
Laravel 11 sudah mengintegrasikan Vite secara default. Pastikan file vite.config.js ada dan sesuaikan bila diperlukan.
3.1 Install dependencies
npm install
3.2 Jalankan dev server
npm run dev
Gunakan npm run build untuk produksi.
4. Otentikasi Frontend dengan Laravel Breeze
Breeze menyediakan scaffold minimal dengan Blade atau Inertia. Di sini gunakan Blade.
composer require laravel/breeze --dev
php artisan breeze:install blade
npm run dev
php artisan migrate
Setelah migrasi, jalankan php artisan serve dan akses /register atau /login.
5. API Token Authentication dengan Laravel Sanctum
5.1 Install Sanctum
composer require laravel/sanctum
php artisan migrate
5.2 Publish konfigurasi
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
5.3 Middleware
Tambahkan EnsureFrontendRequestsAreStateful::class ke grup api pada app/Http/Kernel.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
5.4 Contoh Route API
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
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]);
});
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
6. Struktur Direktori & Best Practice
- app/Models – gunakan satu model per file, beri tipe properti.
- app/Http/Controllers/API – pisahkan controller API dari web.
- resources/views – gunakan komponen Blade untuk reusable UI.
- routes – pisahkan
web.phpdanapi.php, gunakan route groups dengan prefix dan middleware. - .env.example – selalu commit contoh env tanpa kredensial.
- phpstan & rector – tambahkan static analysis (phpstan) dan refactoring otomatis (rector) untuk kualitas kode.
7. Deploy ke Production
- Set environment variables di server (
APP_ENV=production,APP_DEBUG=false). - Install dependencies:
composer install --optimize-autoloader --no-dev
npm ci
npm run build
- Cache konfigurasi & routing:
php artisan config:cache
php artisan route:cache
php artisan view:cache
- Set permissions untuk storage & bootstrap/cache.
chmod -R 775 storage bootstrap/cache
Server yang direkomendasikan: PHP-FPM + Nginx dengan fastcgi param SCRIPT_FILENAME menunjuk ke public/index.php.
Dengan mengikuti tutorial ini, Anda memiliki fondasi Laravel 11 yang modern: Vite untuk asset bundling, Breeze untuk UI cepat, dan Sanctum untuk API token yang aman. Mengadopsi struktur folder dan caching yang direkomendasikan memastikan aplikasi siap produksi dan mudah dipelihara dalam jangka panjang.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework terbaik.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend