News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan lainnya)


Temukan langkah demi langkah instalasi Laravel 11 terbaru, integrasi Vite, Breeze, serta Sanctum untuk otentikasi API yang aman, lengkap dengan contoh kode dan best practice terkini.

1. Prasyarat Sistem

Pastikan server Anda memenuhi requirement Laravel 11:

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 dengan npm atau Yarn
  • Database (MySQL 8+, PostgreSQL, atau SQLite)

2. Instalasi Laravel 11

composer create-project laravel/laravel blog "11.*" --prefer-dist

Masuk ke folder proyek:

cd blog

3. Setup Vite (Pengganti Laravel Mix)

Laravel 11 sudah menyertakan Vite secara default. Pastikan vite.config.js ada, lalu install dependensi front‑end:

npm install
npm run dev

Jika ingin menambah TailwindCSS:

npm install -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

Konfigurasi tailwind.config.js:

module.exports = {
    content: ["./resources/**/*.blade.php", "./resources/**/*.js", "./resources/**/*.vue"],
    theme: { extend: {} },
    plugins: [],
};

4. Instalasi Laravel Breeze (Starter Kit UI)

Breeze memberikan autentikasi sederhana berbasis Blade atau Inertia. Kita pakai Blade:

composer require laravel/breeze --dev
php artisan breeze:install blade
npm run dev

Jalankan migrasi untuk tabel user:

php artisan migrate

5. Menyiapkan Laravel Sanctum untuk API Authentication

composer require laravel/sanctum

Publish konfigurasi dan migrasi:

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,
],

Contoh route API yang dilindungi:

Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

Contoh login API menggunakan token:

// App/Http/Controllers/API/AuthController.php
public function login(Request $request)
{
    $validated = $request->validate([
        'email' => 'required|email',
        'password' => 'required',
    ]);
    if (!Auth::attempt($validated)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }
    $token = $request->user()->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
}

6. Konfigurasi Environment & Security Best Practice

  • Set APP_DEBUG=false pada produksi.
  • Gunakan .env.example sebagai template dan jangan commit .env.
  • Aktifkan APP_URL yang tepat dan SESSION_SECURE_COOKIE=true bila HTTPS.
  • Tambahkan CSP header via middleware fruitcake/laravel-csp jika diperlukan.

7. Deploy ke Server Production (contoh menggunakan Laravel Forge)

  1. Push kode ke repository Git (GitHub/GitLab).
  2. Buat site baru di Forge, pilih PHP 8.2, dan hubungkan repository.
  3. Set environment variables di Forge sesuai .env.
  4. Jalankan php artisan migrate --force melalui SSH.
  5. Enable queue workers jika aplikasi memakai job.
  6. Pastikan npm run build dijalankan pada server untuk menghasilkan aset production.

8. Testing & Debugging

Jalankan unit test dengan PHPUnit:

php artisan test

Gunakan Laravel Telescope (opsional) untuk inspeksi request dan query:

composer require laravel/telescope
php artisan telescope:install
php artisan migrate

9. Best Practice Tambahan

  • Gunakan route model binding untuk keamanan dan kebersihan kode.
  • Pisahkan logika bisnis ke Service Class, bukan Controller.
  • Cache konfigurasi dan route: php artisan config:cache && php artisan route:cache.
  • Gunakan php artisan optimize sebelum deploy.
  • Aktifkan Laravel Octane (Swoole atau RoadRunner) untuk performa tinggi bila diperlukan.

Dengan mengikuti tutorial ini, Anda akan memiliki proyek Laravel 11 yang modern, terstruktur, dan siap produksi. Integrasi Vite, Breeze, serta Sanctum memberi fondasi kuat untuk UI responsif dan API yang aman, sementara best practice yang diterapkan memastikan aplikasi tetap scalable dan maintainable di masa depan.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk proyek PHP Framework terkini.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...