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 More)


Tutorial step‑by‑step ini memandu Anda menginstall Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta mengadopsi praktik terbaik untuk pengembangan aplikasi PHP modern.

1. Persyaratan Sistem

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (npm atau Yarn)
  • Database (MySQL, Postgres, SQLite, dsb.)

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd my-app

2.1. Inisialisasi Git (opsional tetapi direkomendasikan)

git init
git add .
git commit -m "Initial commit - Laravel 11"

3. Setup Front‑end dengan Vite

Laravel 11 sudah menyertakan Vite sebagai bundler default.

npm install
npm run dev

Pastikan file vite.config.js berisi konfigurasi berikut (default sudah cocok):

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [laravel(['resources/css/app.css', 'resources/js/app.js'])],
});

4. Instalasi Laravel Breeze (Starter Kit)

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

Perintah di atas menginstal Breeze dengan stack Vue 3. Untuk React atau Blade, ganti parameter sesuai kebutuhan.

4.1. Migrasi Database

php artisan migrate

5. Menambahkan Laravel Sanctum untuk API Authentication

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

Konfigurasi config/sanctum.php jika Anda menggunakan SPA:

'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1')),
'same_site' => 'lax',

Tambah middleware di app/Http/Kernel.php:

\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,

5.1. Contoh Route API dengan Sanctum

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

6. Struktur Direktori dan Best Practice

  • app/Models – Simpan semua Eloquent model.
  • app/Http/Controllers/API – Pisahkan controller API dari web.
  • routes/api.php – Definisikan endpoint API, gunakan Route::apiResource bila memungkinkan.
  • resources/js – Tempat file Vue/React komponen.
  • resources/views – Blade template, gunakan komponen Blade untuk reusable UI.

6.1. Penggunaan Service Container

Binding Service di app/Providers/AppServiceProvider.php untuk memudahkan testing:

public function register()
{
    $this->app->singleton(PaymentGateway::class, function ($app) {
        return new StripeGateway(config('services.stripe.key'));
    });
}

7. Testing Otomatis

Laravel 11 mendukung Pest dan PHPUnit. Contoh test API:

php artisan make:test UserApiTest --unit

// tests/Unit/UserApiTest.php
public function test_user_endpoint_requires_authentication()
{
    $response = $this->getJson('/api/user');
    $response->assertStatus(401);
}

8. Deployment – Optimasi Production

  1. Set environment variables pada server (.env).
  2. Cache konfigurasi & route:
php artisan config:cache
php artisan route:cache
php artisan view:cache
  1. Compile aset dengan Vite:
npm run build
  1. Gunakan PHP-FPM + Nginx atau Laravel Octane (Swoole) untuk performa tinggi.

9. Kesimpulan

Dengan mengikuti langkah‑langkah ini Anda memiliki proyek Laravel 11 modern yang siap dikembangkan, diuji, dan dideploy. Kombinasi Vite, Breeze, dan Sanctum memberikan fondasi front‑end cepat, otentikasi aman, serta arsitektur yang scalable.


Setup Laravel 11 dengan Vite, Breeze, dan Sanctum memberikan workflow pengembangan yang cepat, aman, dan mudah dipelihara. Ikuti best practice di atas untuk memastikan kode bersih, testable, serta siap produksi.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan PHP Framework yang cepat dan aman.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...