Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru serta mengintegrasikan Vite, Breeze, Sanctum, dan best practice keamanan serta pengembangan modern di tahun 2026.
1. Prasyarat
Pastikan sistem Anda sudah terpasang:
- PHP 8.3 atau lebih tinggi
- Composer 2.x
- Node.js 20.x dan npm 10.x
- Database MySQL/PostgreSQL (opsional)
2. Instalasi Laravel 11
composer create-project laravel/laravel blog "11.*" --prefer-dist
cd blog
Perintah di atas mengunduh Laravel 11 terbaru dalam folder blog.
3. Mengganti Laravel Mix dengan Vite (default)
Laravel 11 sudah menyertakan Vite. Pastikan vite.config.js ada dan package.json berisi script berikut:
"scripts": {
"dev": "vite",
"build": "vite build"
}
Install dependensi front‑end:
npm install
npm run dev
4. Menambahkan Laravel Breeze (Starter Kit)
composer require laravel/breeze --dev
php artisan breeze:install vue
npm install && npm run dev
Breeze menyediakan autentikasi dasar dengan Vue 3 + Vite. Jalankan migrasi:
php artisan migrate
5. Mengamankan API dengan Laravel Sanctum
Sanctum memungkinkan token‑based serta 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,
],
Konfigurasi config/sanctum.php untuk stateful domains (mis. localhost, 127.0.0.1).
6. Struktur Direktori Modern
app/Models– model Eloquent.app/Http/Controllers/Api– controller API.routes/api.php– route API yang diproteksi Sanctum.resources/js– komponen Vue 3 dengansetupsyntax.resources/css/app.css– Tailwind CSS (bawaan Breeze).
7. Contoh Implementasi API dengan Sanctum
Controller:
namespace App\Http\Controllers\Api;
use App\Http\Controllers\Controller;
use App\Models\Post;
use Illuminate\Http\Request;
class PostController extends Controller
{
public function index()
{
return Post::latest()->paginate(10);
}
public function store(Request $request)
{
$data = $request->validate([
'title' => 'required|string|max:255',
'body' => 'required|string',
]);
$post = $request->user()->posts()->create($data);
return response()->json($post, 201);
}
}
Routes (routes/api.php):
use App\Http\Controllers\Api\PostController;
Route::middleware('auth:sanctum')->group(function () {
Route::get('/posts', [PostController::class, 'index']);
Route::post('/posts', [PostController::class, 'store']);
});
8. Testing dengan Pest (opsional)
composer require pestphp/pest --dev
php artisan pest:install
Buat file tests/Feature/PostTest.php dan gunakan actingAs untuk menguji endpoint yang diproteksi Sanctum.
9. Deployment Best Practice
- Gunakan
php artisan config:cachedanphp artisan route:cache. - Build assets dengan
npm run buildsebelum deploy. - Set environment
APP_ENV=productiondanAPP_DEBUG=false. - Gunakan queue worker (Laravel Horizon) untuk job intensif.
- Aktifkan HTTPS melalui load balancer atau web server.
10. Monitoring & Logging
Integrasikan Spatie Laravel Ray untuk debugging lokal, dan gunakan Laravel Telescope di staging.
Dengan mengikuti langkah‑step di atas, Anda memiliki aplikasi Laravel 11 yang modern, terstruktur, dan aman. Vite mempercepat proses front‑end, Breeze memberi starter kit autentikasi, dan Sanctum memastikan API dapat diakses secara aman oleh SPA atau mobile app. Terapkan best practice deployment untuk memastikan aplikasi siap produksi di 2026.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web di tahun 2026.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar