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)


Tutorial step-by-step untuk menginstal Laravel 11 terbaru dan mengkonfigurasi stack modern seperti Vite, Breeze, Sanctum, serta best practice keamanan dan struktur proyek.

1. Prasyarat

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 & npm
  • Database MySQL/PostgreSQL (opsional)

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd blog

3. Setup Frontend dengan Vite

Laravel 11 sudah menyertakan Vite secara default. Pastikan dependensi terinstall:

npm install

Jalankan server dev:

npm run dev

Jika ingin produksi, gunakan:

npm run build

4. Instalasi Laravel Breeze (Starter Kit)

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

Breeze menyediakan scaffolding autentikasi dengan Vue 3 + Vite. Pilihan lain: blade atau react.

5. Konfigurasi Sanctum untuk API Token

composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate

Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api guard di config/sanctum.php (default sudah di‑set untuk localhost).

// config/auth.php
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'api' => [
        'driver' => 'sanctum',
        'provider' => 'users',
    ],
],

Contoh Penggunaan Token

// routes/api.php
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('mobile-app')->plainTextToken;
    return response()->json(['token' => $token]);
});

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

6. Environment & Konfigurasi Keamanan

  • Set APP_ENV=production dan APP_DEBUG=false pada server produksi.
  • Gunakan php artisan key:generate untuk APP_KEY.
  • Aktifkan HTTPS dengan App\Http\Middleware\ForceHttps (custom middleware).

7. Struktur Direktori yang Direkomendasikan

/app
  /Http
    /Controllers
    /Middleware
  /Models
/resources
  /js (Vite entry)
  /css
  /views (Blade)
/routes
  web.php
  api.php
/database
  /migrations
  /seeders

Gunakan Service Provider terpisah untuk logika domain agar Controllers tetap tipis.

8. Testing Otomatis

php artisan test

Laravel 11 mendukung PHPUnit 10 dan Pest. Contoh test autentikasi:

/** @test */
public function user_can_login_with_valid_credentials()
{
    $user = User::factory()->create(['password' => bcrypt('secret')]);
    $response = $this->postJson('/api/login', ['email' => $user->email, 'password' => 'secret']);
    $response->assertOk()->assertJsonStructure(['token']);
}

9. Deploy ke Production

  1. Push kode ke repo (GitHub/GitLab).
  2. Gunakan Laravel Forge, Vapor, atau Docker.
  3. Di server: composer install --optimize-autoloader --no-dev
  4. Set .env dengan kredensial DB, cache, queue.
  5. Jalankan migrasi: php artisan migrate --force
  6. Build assets: npm ci && npm run build
  7. Cache konfigurasi & route: php artisan config:cache && php artisan route:cache
  8. Queue worker (optional): php artisan queue:work --daemon

10. Best Practice Tambahan

  • Gunakan phpstan + larastan untuk static analysis.
  • Integrasi Laravel Telescope di environment development.
  • Gunakan spatie/laravel-responsecache untuk caching response API.
  • Audit keamanan dengan Laravel Security Checklist (GitHub).

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki aplikasi Laravel 11 yang modern, aman, dan siap skalabilitas. Stack Vite‑Breeze‑Sanctum memberikan pengalaman developer yang cepat, sementara best practice seperti caching, testing, dan static analysis memastikan kualitas kode untuk produksi.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern untuk developer PHP.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...