Tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, menambahkan starter kit Breeze, mengamankan API dengan Sanctum, serta tips best practice untuk pengembangan modern.
1. Prasyarat
- PHP >= 8.2
- Composer terbaru
- Node.js >= 20 & npm/yarn
- Database (MySQL, PostgreSQL, atau SQLite)
2. Instalasi Laravel 11
2.1 Buat proyek baru
composer create-project laravel/laravel myapp "11.*"
Perintah di atas akan mengunduh Laravel 11 dengan semua dependensi stabil.
2.2 Masuk ke direktori proyek
cd myapp
3. Setup Front‑end dengan Vite
3.1 Install dependensi Node
npm install
3.2 Jalankan development server
npm run dev
Laravel 11 sudah menyertakan Vite secara default; pastikan file vite.config.js dan resources/js/app.js ada.
4. Menambahkan Starter Kit Breeze
4.1 Install package Breeze
composer require laravel/breeze --dev
4.2 Instalasi scaffolding dengan Blade + Vite
php artisan breeze:install
Jika ingin Livewire atau Inertia, gunakan opsi --blade, --livewire atau --react.
4.3 Build assets
npm run dev
4.4 Migrasi database
php artisan migrate
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 api kernel
// app/Http/Kernel.php
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
5.4 Buat route token
use App\Models\User;
use Illuminate\Http\Request;
Route::post('/sanctum/token', function (Request $request) {
$request->validate([
'email' => 'required|email',
'password' => 'required',
'device_name' => 'required',
]);
$user = User::where('email', $request->email)->first();
if (! $user || ! Hash::check($request->password, $user->password)) {
return response()->json(['message' => 'Invalid credentials'], 401);
}
return $user->createToken($request->device_name)->plainTextToken;
});
5.5 Contoh penggunaan pada controller
public function profile(Request $request)
{
return response()->json($request->user());
}
// routes/api.php
Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'profile']);
6. Best Practice Modern
- Environment variables: Simpan rahasia di
.envdan gunakanconfig:cachepada produksi. - Cache config & routes:
php artisan config:cache&php artisan route:cache. - Docker: Gunakan image resmi
php:8.2-fpm&node:20untuk konsistensi lingkungan. - Testing: Manfaatkan PHPUnit & Pest; contoh:
php artisan test. - Code style: Terapkan Laravel Pint (
vendor/bin/pint) untuk format standar. - Static analysis: Tambahkan
phpstanataupsalmke pipeline CI.
7. Deploy ke Production
- Set
APP_ENV=productiondanAPP_DEBUG=falsedi .env. - Jalankan
composer install --optimize-autoloader --no-dev. - Build assets:
npm run build(produces manifest untuk Vite). - Migrasi database:
php artisan migrate --force. - Cache konfigurasi & route.
- Set proper permissions pada storage & bootstrap/cache.
Dengan mengikuti langkah‑langkah di atas, Anda kini memiliki aplikasi Laravel 11 yang terstruktur, menggunakan Vite untuk asset modern, Breeze sebagai starter kit UI, serta Sanctum untuk API yang aman. Terapkan best practice seperti caching, testing otomatis, dan Docker untuk memastikan kualitas dan skalabilitas di produksi.
Tutorial lengkap langkah demi langkah setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Ikuti best practice modern untuk pengembangan PHP Framework yang cepat, aman, dan scalable.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar