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)


Pelajari cara menginstal Laravel 11 terbaru dan mengonfigurasikan stack modern termasuk Vite, Breeze, Sanctum, serta praktik terbaik untuk pengembangan aplikasi web yang aman dan cepat.

1. Persiapan Lingkungan

Pastikan server Anda memenuhi persyaratan Laravel 11:

  • PHP >= 8.2
  • Ekstensi PHP: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath, Fileinfo
  • Composer 2.x
  • Node.js >= 18 & npm / Yarn
  • Database (MySQL 8+, PostgreSQL, SQLite)

1.1 Instalasi Composer

Unduh dan instal Composer jika belum ada:

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer

1.2 Instalasi Node.js

Gunakan nvm untuk mengelola versi Node:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 20
nvm use 20

2. Membuat Proyek Laravel Baru

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

Masuk ke direktori proyek:

cd blog

3. Mengganti Laravel Mix dengan Vite

Laravel 11 sudah terintegrasi dengan Vite secara default, tetapi pastikan konfigurasi berikut ada:

3.1 Instalasi dependensi front‑end

npm install

3.2 Sesuaikan vite.config.js

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

3.3 Jalankan dev server

npm run dev

Vite akan hot‑reload secara otomatis.

4. Menambahkan Breeze (Starter Kit) dengan Inertia atau Blade

Kami gunakan Breeze Blade untuk kesederhanaan.

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

Setelah instalasi, autentikasi dasar (login, register, reset password) sudah tersedia.

5. Mengamankan API dengan Laravel Sanctum

5.1 Instalasi Sanctum

composer require laravel/sanctum

5.2 Publikasi konfigurasi & migrasi

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

5.3 Tambahkan middleware ke api stack

// app/Http/Kernel.php
'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    \Illuminate\Routing\Middleware\SubstituteBindings::class,
],

5.4 Contoh endpoint token based

// routes/api.php
use App\Http\Controllers\AuthController;
Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
    return $request->user();
});

5.5 AuthController sederhana

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

class AuthController extends Controller
{
    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]);
    }
}

6. Praktik Terbaik (Best Practice)

  • Environment variables: Simpan kunci rahasia di .env dan jangan pernah commit.
  • Strict Type Declarations: Aktifkan declare(strict_types=1); di file PHP utama.
  • Route Caching: Pada produksi, jalankan php artisan route:cache dan php artisan config:cache.
  • HTTPS & HSTS: Konfigurasikan server (NGINX/Apache) untuk memaksa HTTPS.
  • Database Migrations: Selalu gunakan migration, hindari raw SQL dalam kode aplikasi.
  • Testing: Tuliskan unit & feature test dengan PHPUnit atau Pest; jalankan php artisan test sebelum merge.
  • Code Style: Terapkan Laravel Pint (PHP CS Fixer) untuk menjaga konsistensi kode.

7. Deploy ke Production

  1. Push kode ke repository Git (GitHub, GitLab).
  2. Gunakan layanan CI/CD (GitHub Actions, GitLab CI) untuk otomatisasi:
    name: Deploy Laravel
    on: push
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - uses: actions/checkout@v3
          - name: Set up PHP
            uses: shivammathur/setup-php@v2
            with:
              php-version: '8.2'
          - name: Install Composer deps
            run: composer install --no-dev --optimize-autoloader
          - name: Install Node deps
            run: npm ci && npm run build
          - name: Run migrations
            run: php artisan migrate --force
    
  3. Pastikan folder storage dan bootstrap/cache writable.
  4. Setel APP_ENV=production dan APP_DEBUG=false.
  5. Jalankan php artisan optimize untuk cache konfigurasi, view, dan route.

8. Verifikasi

Buka https://your-domain.com dan pastikan halaman beranda, login, serta endpoint API berfungsi. Gunakan curl -H "Authorization: Bearer YOUR_TOKEN" https://your-domain.com/api/user untuk menguji Sanctum.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur modern: Vite untuk asset bundling, Breeze sebagai starter kit UI, serta Sanctum untuk API authentication. Mematuhi best practice seperti environment management, caching, dan CI/CD membuat aplikasi siap produksi, scalable, dan aman.
Tutorial step-by-step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan praktik terbaik modern untuk pengembangan web cepat, aman, dan scalable.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...