Pelajari cara menyiapkan proyek Laravel 11 terbaru di 2026 dengan menggunakan frontend build tool Vite, starter kit Breeze, autentikasi API Sanctum, serta praktik keamanan dan struktur folder modern.
1. Prasyarat
Pastikan Anda memiliki:
- PHP >= 8.3
- Composer 2.x
- Node.js >= 20 dengan npm atau Yarn
- Database MySQL 8 atau PostgreSQL 15
2. Instalasi Laravel 11
composer create-project laravel/laravel blog "^11.0" --prefer-dist
cd blog
Perintah di atas mengunduh versi stabil Laravel 11 yang dirilis pada akhir 2025.
3. Mengaktifkan Vite
Laravel 11 sudah terintegrasi dengan Vite secara default, namun pastikan dependensi front‑end terinstall.
# Menggunakan npm
npm install
# atau Yarn
yarn install
Jalankan server pengembangan Vite:
npm run dev
4. Menambahkan Starter Kit Breeze
Breeze menyediakan scaffolding authentication berbasis Blade atau Inertia. Di tutorial ini kita pakai Blade.
composer require laravel/breeze --dev
php artisan breeze:install blade
npm run dev
Jalankan migrasi:
php artisan migrate
5. Konfigurasi Sanctum untuk API Token
Sanctum memungkinkan autentikasi SPA dan token‑based API.
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware pada app/Http/Kernel.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Set SESSION_DOMAIN dan SANCTUM_STATEFUL_DOMAINS di .env sesuai domain pengembangan.
6. Struktur Folder Best Practice
app/Models– Simpan semua model Eloquent.app/Http/Controllers/API– Controller khusus API yang memakai Sanctum.app/Http/Requests– Form request validation terpisah.routes/api.php– Daftar route API, beri prefixapisecara otomatis.resources/js– Tempat file Vite, gunakanresources/js/app.jssebagai entry point.resources/views– Blade template, pisahkan layout dilayouts.
7. Contoh Kode API dengan Sanctum
Buat controller app/Http/Controllers/API/PostController.php:
namespace AppHttpControllersAPI;
use AppModelsPost;
use AppHttpControllersController;
use IlluminateHttpRequest;
class PostController extends Controller
{
public function index()
{
return response()->json(Post::latest()->paginate(10));
}
public function store(Request $request)
{
$validated = $request->validate([
'title' => 'required|string|max:255',
'body' => 'required|string',
]);
$post = Post::create($validated);
return response()->json($post, 201);
}
}
Daftarkan route di 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. Menjalankan Proyek
# Server Laravel
php artisan serve
# Vite dev server
npm run dev
Akses http://localhost:8000 untuk UI Breeze, dan gunakan http://localhost:8000/api/posts dengan token Sanctum untuk API.
9. Best Practice Tambahan
- Gunakan
php artisan route:cachedanphp artisan config:cachepada produksi. - Set
APP_ENV=productionsertaAPP_DEBUG=falsedi.env. - Aktifkan
HTTPSdengansecure_cookiediconfig/session.php. - Implementasikan logging terpusat lewat
LaravelLogatau layanan seperti Sentry.
Dengan mengikuti langkah‑langkah di atas, Anda mendapatkan proyek Laravel 11 yang modern, cepat, dan aman. Vite mempercepat proses front‑end, Breeze menyediakan UI autentikasi siap pakai, dan Sanctum memastikan API dapat diakses secara terproteksi. Terapkan best practice produksi untuk performa dan keamanan optimal.
Tutorial lengkap setup Laravel 11 di 2026 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web cepat dan aman.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar