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 Jetstream


Tutorial step‑by‑step ini memandu Anda menginstal Laravel 11 terbaru, mengkonfigurasi bundler Vite, otentikasi dengan Breeze & Sanctum, serta menyiapkan lingkungan pengembangan modern untuk proyek PHP Framework terbaik.

1. Persiapan Lingkungan

Pastikan sistem Anda memiliki:

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

1.1 Verifikasi Versi

php -v
composer -V
node -v
npm -v

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd my-app

3. Konfigurasi Vite (Bundler Frontend)

Laravel 11 sudah mengintegrasikan Vite secara default. Pastikan file vite.config.js ada dan sesuaikan bila diperlukan.

3.1 Install dependencies

npm install

3.2 Jalankan dev server

npm run dev

Gunakan npm run build untuk produksi.

4. Otentikasi Frontend dengan Laravel Breeze

Breeze menyediakan scaffold minimal dengan Blade atau Inertia. Di sini gunakan Blade.

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

Setelah migrasi, jalankan php artisan serve dan akses /register atau /login.

5. API Token Authentication dengan Laravel Sanctum

5.1 Install Sanctum

composer require laravel/sanctum
php artisan migrate

5.2 Publish konfigurasi

php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"

5.3 Middleware

Tambahkan EnsureFrontendRequestsAreStateful::class ke grup api pada app/Http/Kernel.php:

'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

5.4 Contoh Route API

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

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();
});

6. Struktur Direktori & Best Practice

  • app/Models – gunakan satu model per file, beri tipe properti.
  • app/Http/Controllers/API – pisahkan controller API dari web.
  • resources/views – gunakan komponen Blade untuk reusable UI.
  • routes – pisahkan web.php dan api.php, gunakan route groups dengan prefix dan middleware.
  • .env.example – selalu commit contoh env tanpa kredensial.
  • phpstan & rector – tambahkan static analysis (phpstan) dan refactoring otomatis (rector) untuk kualitas kode.

7. Deploy ke Production

  1. Set environment variables di server (APP_ENV=production, APP_DEBUG=false).
  2. Install dependencies:
composer install --optimize-autoloader --no-dev
npm ci
npm run build
  1. Cache konfigurasi & routing:
php artisan config:cache
php artisan route:cache
php artisan view:cache
  1. Set permissions untuk storage & bootstrap/cache.
chmod -R 775 storage bootstrap/cache

Server yang direkomendasikan: PHP-FPM + Nginx dengan fastcgi param SCRIPT_FILENAME menunjuk ke public/index.php.


Dengan mengikuti tutorial ini, Anda memiliki fondasi Laravel 11 yang modern: Vite untuk asset bundling, Breeze untuk UI cepat, dan Sanctum untuk API token yang aman. Mengadopsi struktur folder dan caching yang direkomendasikan memastikan aplikasi siap produksi dan mudah dipelihara dalam jangka panjang.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework terbaik.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...