News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

Panduan Lengkap Setup Laravel 11 dengan Praktik Modern: Vite, Breeze, Sanctum, dan Jetstream


Tutorial step-by-step ini mengajarkan cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, mengintegrasikan Breeze untuk otentikasi, serta menambahkan Sanctum untuk API token, semuanya dengan best practice 2026.

1. Prasyarat

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 dengan npm atau Yarn
  • Database MySQL/PostgreSQL

2. Instalasi Laravel 11

composer create-project laravel/laravel:^11.0 my-project
cd my-project

Perintah di atas mengunduh Laravel 11 versi stabil terbaru.

3. Setup Vite (Asset Bundler modern)

  1. Instalasi dependensi front‑end:
npm install
# atau dengan Yarn
# yarn install
  1. Pastikan vite.config.js berisi plugin Laravel:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

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

Jalankan dev server:

npm run dev

4. Instalasi Breeze (Starter Kit Otentikasi)

composer require laravel/breeze --dev
php artisan breeze:install vue
# atau react, vue, blade sesuai kebutuhan
npm install && npm run dev

Breeze menambahkan migrasi, model User, route, controller, dan view dasar.

5. Migrasi Database

php artisan migrate

Pastikan .env berisi kredensial DB yang valid.

6. Konfigurasi Sanctum untuk API Token

  1. Instalasi paket:
composer require laravel/sanctum
  1. Publish konfigurasi dan migrasi:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
  1. Tambahkan middleware pada api stack di app/Http/Kernel.php:
'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],
  1. Buatan token contoh (misalnya di controller AuthController):
use Illuminate\Http\Request;
use App\Models\User;

public function login(Request $request)
{
    $request->validate([
        'email' => 'required|email',
        'password' => 'required',
    ]);

    $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]);
}

7. Menambahkan Route API yang Dilindungi Sanctum

use App\Http\Controllers\ProfileController;

Route::middleware('auth:sanctum')->group(function () {
    Route::get('/user/profile', [ProfileController::class, 'show']);
});

8. Best Practice Modern (2026)

  • Environment Segregation: Gunakan .env.example lengkap, dan jangan pernah commit .env ke VCS.
  • Typed Routes: Manfaatkan php artisan route:cache dan php artisan view:cache pada production.
  • Docker Development: Jalankan Laravel dengan container resmi (laravelphp/php-fpm, node, nginx) untuk konsistensi lintas tim.
  • Static Analysis: Tambahkan phpstan dan larastan pada CI untuk deteksi bug sejak dini.
  • Testing: Tulis Feature Test untuk endpoint Sanctum menggunakan sanctum guard.
    public function test_user_can_access_protected_route()
    {
        $user = User::factory()->create();
        $token = $user->createToken('test')->plainTextToken;
    
        $response = $this->withHeaders([
            'Authorization' => "Bearer $token",
        ])->getJson('/api/user/profile');
    
        $response->assertOk();
    }
    

9. Deploy ke Production

  1. Set APP_ENV=production dan APP_DEBUG=false di .env.
  2. Build assets dengan Vite:
npm run build
  1. Cache config & routes:
php artisan config:cache
php artisan route:cache
php artisan view:cache
  1. Gunakan supervisor atau Laravel Octane (Swoole) untuk performance tinggi.

Dengan mengikuti tutorial ini, Anda memiliki proyek Laravel 11 yang modern, aman, dan siap produksi. Vite memberi proses front‑end cepat, Breeze menyediakan otentikasi UI minimal, dan Sanctum memungkinkan API token yang terstandarisasi. Terapkan best practice seperti Docker, static analysis, dan testing untuk menjaga kualitas kode seiring pertumbuhan aplikasi Anda.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah demi langkah instalasi, konfigurasi, contoh kode, serta best practice modern 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...