Tutorial step‑by‑step ini menjelaskan cara menginstal Laravel 11 terbaru, mengonfigurasi Vite untuk asset bundling, menambahkan Breeze sebagai starter kit, serta mengamankan API dengan Sanctum. Ikuti langkahnya dan terapkan best practice modern untuk proyek Laravel Anda.
1. Prasyarat
Pastikan sistem Anda sudah terinstall:
- PHP >= 8.2
- Composer 2.x
- Node.js >= 18 (bersama npm atau Yarn)
- Database (MySQL, PostgreSQL, atau SQLite)
2. Instalasi Laravel 11
2.1 Buat proyek baru
composer create-project laravel/laravel my-app "11.*"
Perintah ini mengunduh Laravel versi stabil terbaru (v11) ke folder my-app.
2.2 Masuk ke direktori proyek
cd my-app
3. Konfigurasi Vite (Laravel Mix digantikan)
3.1 Install dependensi frontend
npm install
Package vite dan laravel-vite-plugin sudah terdefinisi di package.json Laravel 11.
3.2 Struktur file Vite
File utama berada di vite.config.js. Contoh konfigurasi minimal:
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,
}),
],
});
3.3 Jalankan dev server
npm run dev
Vite akan melayani asset secara hot‑reloading pada http://localhost:5173.
4. Menambahkan Laravel Breeze (Starter Kit)
4.1 Install package Breeze
composer require laravel/breeze --dev
4.2 Generate scaffolding
php artisan breeze:install vue
Anda dapat memilih blade, react, atau vue. Di contoh ini menggunakan Vue 3 yang terintegrasi dengan Vite.
4.3 Install dependensi frontend untuk Breeze
npm install && npm run dev
4.4 Migrasi database
php artisan migrate
Ini membuat tabel users, password_resets, dll.
5. Mengamankan API dengan Laravel Sanctum
5.1 Install Sanctum
composer require laravel/sanctum
5.2 Publish konfigurasi & migrasi
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
5.3 Tambahkan middleware ke kernel
Di app/Http/Kernel.php, pastikan EnsureFrontendRequestsAreStateful::class berada di grup api:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
5.4 Contoh route API dengan token
use App\Models\User;
use Illuminate\Http\Request;
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();
});
5.5 Konsumsi API di frontend Vue
import axios from 'axios';
async function login(email, password) {
const response = await axios.post('/api/login', { email, password });
localStorage.setItem('token', response.data.token);
}
async function getUser() {
const token = localStorage.getItem('token');
const response = await axios.get('/api/user', {
headers: { Authorization: `Bearer ${token}` },
});
return response.data;
}
6. Best Practice Modern
- Environment Files: Simpan semua rahasia (APP_KEY, DB_PASSWORD, SANCTUM_STATEFUL_DOMAINS) di
.envdan gunakanphp artisan env:cacheuntuk produksi. - Cache Config & Routes:
php artisan config:cachedanphp artisan route:cachemeningkatkan performa. - Queue & Jobs: Untuk operasi berat (email, webhook) gunakan queue dengan driver
redisdanphp artisan queue:work. - Testing: Tulis Feature Test dengan
PestatauPHPUnituntuk API yang diproteksi Sanctum. - Static Analysis: Integrasikan
phpstandanlarastanuntuk deteksi bug sebelum deploy.
7. Deploy ke Production
- Set environment ke
productiondi.env. - Build assets:
npm run build(menghasilkan file dipublic/build). - Run migrations:
php artisan migrate --force. - Cache config & routes.
- Gunakan server PHP-FPM + Nginx, atau Laravel Vapor untuk serverless.
Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap produksi, menggunakan Vite, Breeze, dan Sanctum dengan best practice modern.
Laravel 11 memberikan fondasi yang kuat untuk pengembangan web modern. Dengan Vite sebagai bundler cepat, Breeze sebagai starter kit, serta Sanctum untuk otentikasi API yang ringan, Anda dapat membangun aplikasi yang scalable, maintainable, dan aman. Terapkan best practice seperti caching, queue, dan static analysis untuk meningkatkan kualitas kode dan performa produksi.
Tutorial step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, dan Sanctum. Ikuti panduan instalasi, konfigurasi, contoh kode, dan best practice modern untuk proyek Laravel yang aman dan performant.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar