News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...
Tampilkan postingan dengan label tutorials. Tampilkan semua postingan
Tampilkan postingan dengan label tutorials. Tampilkan semua postingan

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Tailwind CSS)


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, serta Tailwind CSS sehingga proyek siap produksi dengan standar keamanan dan performa terkini.

1. Prasyarat

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 & npm atau Yarn
  • Database MySQL/PostgreSQL/SQLite

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd my-app

2.1. Validasi Instalasi

php artisan --version

Output harus menampilkan Laravel Framework 11.x.x.

3. Setup Frontend dengan Vite & Tailwind CSS

3.1. Install dependensi npm

npm install

3.2. Tambahkan Tailwind CSS

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest

Inisialisasi konfigurasi Tailwind:

npx tailwindcss init -p

Ubah tailwind.config.js:

module.exports = {
    content: [
        './resources/**/*.blade.php',
        './resources/**/*.js',
        './resources/**/*.vue',
    ],
    theme: {
        extend: {},
    },
    plugins: [],
};

Update resources/css/app.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

3.3. Konfigurasi Vite

File vite.config.js yang di‑generate Laravel sudah siap. Pastikan ada plugin Laravel Vite:

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.4. Jalankan dev server

npm run dev

Vite akan meng‑compile asset dan hot‑reload.

4. Instalasi Laravel Breeze (Starter Kit)

composer require laravel/breeze --dev

Generate scaffolding dengan Tailwind & Vite:

php artisan breeze:install vue

Jika ingin menggunakan Blade saja, ganti vue dengan blade.

Install kembali npm dependencies yang diperlukan Breeze:

npm install && npm run dev

5. Menambahkan Laravel Sanctum untuk API Authentication

5.1. Install Sanctum

composer require laravel/sanctum

5.2. Publish konfigurasi & migrasi

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

5.3. Konfigurasi Middleware

Tambahkan EnsureFrontendRequestsAreStateful::class pada api middleware group di app/Http/Kernel.php:

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

5.4. Menggunakan Token Personal Access

Contoh route untuk login API:

use Illuminate\Http\Request;
use App\Models\User;

Route::post('/api/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]);
});

5.5. Melindungi Route API

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

6. Best Practice Modern

  • Environment Variables: Simpan kunci rahasia di .env (APP_KEY, SANCTUM_STATEFUL_DOMAINS, SESSION_DOMAIN).
  • Cache Config & Routes: Pada production jalankan php artisan config:cache dan php artisan route:cache.
  • Optimized Autoload: composer install --optimize-autoloader --no-dev.
  • HTTPS & Secure Cookies: Set SESSION_SECURE_COOKIE=true dan SANCTUM_COOKIE_SECURE=true di .env.
  • Static Asset Versioning: Vite sudah menambahkan hash pada nama file, cukup pastikan mix() diganti dengan vite() di Blade.
  • Testing: Gunakan Pest atau PHPUnit; contoh: php artisan test.

7. Deploy ke Production (Contoh di Laravel Forge/VPS)

  1. Clone repo, git pull
  2. Install PHP dependencies: composer install --no-dev --optimize-autoloader
  3. Install Node assets: npm ci && npm run build
  4. Set permission: chmod -R 775 storage bootstrap/cache
  5. Jalankan migrasi & cache: php artisan migrate --force && php artisan config:cache && php artisan route:cache && php artisan view:cache
  6. Restart queue & supervisor jika ada.

Setelah semua langkah selesai, aplikasi Laravel 11 siap melayani traffic dengan stack modern.


Dengan mengikuti tutorial ini, Anda berhasil men-setup Laravel 11 menggunakan Vite, Tailwind, Breeze, dan Sanctum—semua dalam satu rangkaian yang mengikuti best practice 2026. Stack modern ini memberikan kecepatan pengembangan, keamanan API, dan performa front‑end yang optimal, siap untuk skala produksi maupun proyek starter.
Panduan lengkap instalasi Laravel 11 dengan Vite, Breeze, Sanctum, Tailwind CSS, dan best practice modern untuk pengembangan web 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Setup Laravel 11 dengan Best Practice Modern: Vite, Breeze, Sanctum, dan Testing


Panduan lengkap step‑by‑step untuk menyiapkan proyek Laravel terbaru (v11) menggunakan bundler Vite, starter kit Breeze, otentikasi API Sanctum, serta testing otomatis yang siap produksi di tahun 2026.

1. Prasyarat

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 (LTS) dan npm atau Yarn
  • Database MySQL 8.x atau PostgreSQL 15
  • Git

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd blog

3. Mengonfigurasi Vite

Laravel 11 sudah menyertakan Vite secara default, namun pastikan dependensi terbaru:

npm install --save-dev vite@^5.0 laravel-vite-plugin@^1.0

Edit vite.config.js jika ingin menambah alias atau plugin:

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

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

4. Install Breeze dengan Inertia‑React (opsional)

Breeze menyediakan scaffolding ringan untuk otentikasi. Pilih stack yang diinginkan; contoh ini memakai React + Inertia:

composer require laravel/breeze --dev
php artisan breeze:install react

Install depedensi front‑end dan jalankan dev server:

npm install
npm run dev

5. Menyiapkan Sanctum untuk API Token

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

Tambahkan middleware EnsureFrontendRequestsAreStateful::class di app/Http/Kernel.php pada grup api (default di Laravel 11 sudah ada).

Contoh model User menggunakan token:

use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable {
    use HasApiTokens, Notifiable;
}

Endpoint login API:

Route::post('/api/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);
    }
    return $user->createToken('api-token')->plainTextToken;
});

6. Konfigurasi Environment

# .env
APP_NAME="Laravel"
APP_ENV=local
APP_KEY=base64:$(php artisan key:generate --show)
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost
COOKIE_DOMAIN=localhost

7. Best Practice – Struktur Direktori

  • app/Models untuk semua Eloquent model.
  • app/Http/Controllers/Api untuk controller API.
  • routes/api.php hanya berisi route yang menggunakan auth:sanctum.
  • resources/js/Pages menampung komponen Inertia.
  • tests/Feature menambahkan tes end‑to‑end untuk setiap endpoint.

8. Menulis Tes Otentikasi Sanctum

public function test_user_can_login_and_access_protected_route()
{
    $user = User::factory()->create(['password' => bcrypt('secret')]);

    $response = $this->postJson('/api/login', [
        'email' => $user->email,
        'password' => 'secret',
    ]);

    $token = $response->json();
    $this->assertNotNull($token);

    $protected = $this->withHeaders([
        'Authorization' => "Bearer {$token}",
    ])->getJson('/api/user');

    $protected->assertOk();
    $protected->assertJsonPath('email', $user->email);
}

9. Deploy ke Production

  1. Set APP_ENV=production dan APP_DEBUG=false.
  2. Jalankan composer install --optimize-autoloader --no-dev.
  3. Build assets: npm run build (Vite menghasilkan manifest).
  4. Cache config & routes: php artisan config:cache && php artisan route:cache.
  5. Gunakan queue worker Supervisor atau Laravel Horizon untuk job background.

10. Penutup

Dengan mengikuti langkah‑langkah di atas, Anda mendapatkan aplikasi Laravel 11 yang modern, cepat berkat Vite, dilengkapi otentikasi API yang aman melalui Sanctum, serta UI responsif menggunakan Breeze + React. Semua komponen mengikuti best practice Laravel dan siap untuk skala produksi di tahun 2026.


Laravel 11 menawarkan ekosistem yang lebih ringan dan terintegrasi. Menggabungkan Vite, Breeze, dan Sanctum memberikan fondasi yang kuat untuk aplikasi web dan API modern, sekaligus memenuhi standar keamanan dan performa terkini. Ikuti panduan ini, tambahkan testing, dan Anda siap meluncurkan produk yang scalable dan maintainable.
Panduan lengkap step‑by‑step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan testing. Praktik terbaik modern Laravel 2026 untuk pengembangan web cepat dan aman.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan lainnya)


Ikuti tutorial step-by-step untuk menginstal Laravel 11, mengonfigurasi Vite, Breeze, Sanctum, serta menyiapkan lingkungan pengembangan yang optimal di tahun 2026.

1. Persiapan Lingkungan

1.1. Prasyarat

  • PHP >= 8.2
  • Composer 2.x
  • Node.js 20.x & npm 10.x
  • Database MySQL 8 atau PostgreSQL 15

1.2. Instalasi Laravel Installer (opsional)

composer global require laravel/installer

Pastikan ~/.composer/vendor/bin berada di PATH.

2. Membuat Proyek Laravel 11 Baru

laravel new blog --jetstream

atau menggunakan Composer:

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

3. Mengatur Vite (Frontend Asset Bundler)

3.1. Instalasi Dependensi

cd blog
npm install

3.2. Konfigurasi vite.config.js

Laravel 11 sudah menyertakan konfigurasi default, namun tambahkan alias untuk Vue 3 (jika diperlukan):

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,
        }),
    ],
    resolve: {
        alias: {
            '@': '/resources/js',
        },
    },
});

3.3. Menjalankan Dev Server

npm run dev

Vite akan melayani aset dengan hot‑module replacement.

4. Menambahkan Laravel Breeze (Starter Kit)

4.1. Instalasi Breeze

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

Jika ingin menggunakan Inertia + Vue atau React, gunakan --inertia atau --react.

4.2. Kompilasi Asset

npm run dev
php artisan migrate

5. Konfigurasi Laravel Sanctum untuk API Authentication

5.1. Instalasi Sanctum

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

5.2. Menambahkan Middleware

Di app/Http/Kernel.php tambahkan:

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

5.3. Membuat Route API Sanctum

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

5.4. Frontend: Menggunakan Token

Contoh fetch dengan token:

fetch('/api/user', {
    headers: {
        'Authorization': `Bearer ${token}`,
        'Accept': 'application/json',
    },
})
.then(res => res.json())
.then(data => console.log(data));

6. Best Practice Modern

  • Environment Segregation: Simpan rahasia di .env dan gunakan .env.example untuk tim.
  • Docker Development: Buat docker-compose.yml dengan layanan php, nginx, mysql, redis. Pastikan hot reload Vite dipetakan.
  • Testing: Gunakan php artisan test dengan PHPUnit 10 dan Pest untuk BDD.
  • Code Style: Terapkan PHP-CS-Fixer dan Laravel Pint (built‑in) secara otomatis pada CI.
  • Cache Configuration: Aktifkan OPcache di PHP‑FPM dan gunakan Redis untuk cache & queue.
  • Version Control: Commit vite.config.js, composer.lock, package-lock.json, hindari commit node_modules dan vendor.

7. Deploy ke Production

  1. Build assets: npm run build
  2. Cache konfigurasi & routes: php artisan config:cache && php artisan route:cache
  3. Migrasi DB: php artisan migrate --force
  4. Set APP_ENV=production dan APP_DEBUG=false
  5. Gunakan queue worker dengan php artisan queue:work --daemon atau supervisor.

Dengan mengikuti langkah-langkah di atas, Anda akan memiliki proyek Laravel 11 yang dibangun di atas stack modern: Vite untuk asset bundling, Breeze sebagai starter kit UI, dan Sanctum untuk API authentication. Praktik terbaik seperti Docker, testing, dan caching memastikan aplikasi Anda siap untuk skala produksi di 2026.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web di 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Temukan cara instalasi dan konfigurasi Laravel 11 terbaru dengan workflow modern menggunakan Vite, Breeze, Sanctum, serta praktik terbaik untuk pengembangan aplikasi PHP Framework yang aman dan efisien.

1. Prasyarat

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 dan npm/yarn
  • Database (MySQL 8, PostgreSQL, atau SQLite)

2. Instalasi Laravel 11

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

Perintah di atas mengunduh Laravel 11 dengan semua dependensi inti.

3. Setup Vite (Asset Bundler Modern)

  1. Masuk ke folder proyek:
    cd my-app
  2. Instalasi dependensi front‑end:
    npm install --save-dev vite laravel-vite-plugin
  3. Jika belum ada, buat file 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,
            }),
        ],
    });
  4. Perbarui package.json script:
    "scripts": {
        "dev": "vite",
        "build": "vite build"
    }
  5. Jalankan dev server:
    npm run dev

4. Instalasi Laravel Breeze (Starter Kit UI)

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

Breeze menyediakan autentikasi dasar dengan Vue 3 (atau React, Blade) dan terintegrasi dengan Vite secara otomatis.

5. Konfigurasi Sanctum untuk API Token & SPA Authentication

  1. Instal Sanctum:
    composer require laravel/sanctum
  2. Publish konfigurasi dan migrasi:
    php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
    php artisan migrate
  3. Tambahkan middleware ke api di app/Http/Kernel.php:
    'api' => [
        \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
        'throttle:api',
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],
  4. Konfigurasikan config/sanctum.php untuk domain SPA Anda (misalnya localhost atau myapp.test).
  5. Gunakan token personal di controller API:
    $user = User::find(1);
    $token = $user->createToken('mobile')->plainTextToken;

6. Database & Environment

# .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel11
DB_USERNAME=root
DB_PASSWORD=

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost
COOKIE_DOMAIN=localhost

Jalankan migrasi:

php artisan migrate

7. Best Practice Modern

  • Environment Configuration: Gunakan .env.example yang lengkap, jangan pernah commit .env ke repository.
  • Code Quality: Integrasikan PHPStan level 8 dan Laravel Pint untuk standar coding.
    composer require --dev nunomaduro/larastan
    composer require --dev laravel/pint
  • Testing: Tulis Feature Test dengan Pest atau PHPUnit, contoh:
    php artisan test --filter AuthTest
  • Cache & Queue: Aktifkan redis sebagai driver cache & queue di production.
  • Docker: Gunakan Laravel Sail untuk development container yang konsisten.
    ./vendor/bin/sail up -d

8. Deploy ke Production

  1. Build assets:
    npm run build
  2. Jalankan migrasi dan cache config:
    php artisan migrate --force
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
  3. Set permission folder storage dan bootstrap/cache menjadi writable.
  4. Gunakan supervisor untuk queue worker dan horizon (opsional).

9. Verifikasi

Buka http://localhost dan pastikan halaman landing Breeze muncul, registrasi/login berfungsi, serta API token dapat di‑generate dengan Sanctum.


Dengan mengikuti langkah‑step ini, Anda memiliki fondasi Laravel 11 yang modern, aman, dan siap untuk skala produksi. Kombinasi Vite, Breeze, dan Sanctum memberikan workflow frontend‑backend yang cepat, sementara best practice seperti testing, code linting, dan Docker memastikan kualitas kode yang tinggi dalam ekosistem PHP Framework Laravel.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, serta best practice modern untuk pengembangan aplikasi web menggunakan Laravel, PHP Framework, dan Web Development.

Laravel,PHP Framework,Web Development,Vite,Breeze,Sanctum,Laravel 11

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Tutorial step‑by‑step ini menjelaskan cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menyiapkan lingkungan development optimal untuk proyek PHP Framework modern.

1. Prasyarat

  • PHP >= 8.3
  • Composer terbaru
  • Node.js >= 20 dan npm atau Yarn
  • Database MySQL/MariaDB atau PostgreSQL

2. Instalasi Laravel 11

composer create-project laravel/laravel my-app "^11.0"

Masuk ke direktori project:

cd my-app

3. Setup Vite (Asset Bundler)

Laravel 11 sudah mengintegrasikan Vite secara default. Pastikan vite.config.js ada dan install dependensi front‑end:

npm install
npm run dev

Jika menggunakan Yarn:

yarn install
yarn dev

4. Install Laravel Breeze (Starter Kit)

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

Perintah di atas menginstal Breeze dengan stack Vue 3. Untuk React atau Blade, sesuaikan flag‑nya.

npm install
npm run dev

Jalankan migrasi:

php artisan migrate

5. Konfigurasi Sanctum (API Authentication)

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

Update app/Http/Kernel.php untuk menambahkan Sanctum middleware pada grup api:

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

6. Membuat Route API yang Terproteksi

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

Gunakan token personal atau cookie‑based authentication sesuai kebutuhan.

7. Environment & Security Best Practices

  • Set APP_DEBUG=false pada produksi.
  • Gunakan APP_KEY yang di‑generate dengan php artisan key:generate.
  • Konfigurasi DB_CONNECTION, MAIL_*, dan CACHE_DRIVER di .env.
  • Aktifkan HTTPS dengan AppServiceProvider atau web server.
  • Gunakan LaravelOctane (opsional) untuk performa tinggi.

8. Deployment di Server Linux (NGINX)

# Install dependencies
sudo apt update && sudo apt install -y nginx php8.3-fpm php8.3-mbstring php8.3-xml php8.3-pgsql composer nodejs npm

# Clone repo
git clone https://github.com/username/my-app.git /var/www/my-app
cd /var/www/my-app
composer install --no-dev --optimize-autoloader
npm ci && npm run build

# Set permissions
sudo chown -R www-data:www-data /var/www/my-app
sudo chmod -R 775 storage bootstrap/cache

# Nginx site config (excerpt)
server {
    listen 80;
    server_name example.com;
    root /var/www/my-app/public;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        fastcgi_param DOCUMENT_ROOT $realpath_root;
    }
}

Reload Nginx dan pastikan .env berisi kredensial produksi.

9. Testing & Debugging

  • Jalankan php artisan test untuk unit & integration test.
  • Gunakan Laravel Telescope (dev) untuk inspeksi request.
  • Aktifkan debugbar hanya di lingkungan lokal.

10. Kesimpulan

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap untuk pengembangan modern, lengkap dengan Vite untuk asset bundling, Breeze untuk UI starter, dan Sanctum untuk API authentication. Terapkan best practice keamanan dan deployment untuk menjaga kestabilan aplikasi dalam produksi.


Laravel 11 menawarkan stack modern yang terintegrasi—Vite, Breeze, dan Sanctum—memudahkan developer PHP Framework untuk membangun aplikasi cepat, aman, dan scalable. Ikuti panduan ini, sesuaikan dengan kebutuhan tim, dan manfaatkan ekosistem Laravel yang terus berkembang di tahun 2026.
Tutorial lengkap instalasi Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah demi langkah setup modern, konfigurasi, contoh kode, dan best practice untuk developer PHP Framework di 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan lainnya)


Ikuti tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, serta praktik terbaik yang memaksimalkan performa dan keamanan aplikasi PHP Anda.

1. Persiapan Lingkungan

Pastikan sistem Anda sudah terpasang:

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20
  • Database (MySQL, PostgreSQL, atau SQLite)

1.1. Instalasi Composer dan Node

curl -sS https://getcomposer.org/installer | php
npm install -g npm@latest

2. Membuat Project Laravel 11

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

Perintah di atas membuat folder blog dengan Laravel 11 stabil.

3. Mengatur Frontend dengan Vite

Laravel 11 sudah menyertakan Vite secara default. Pastikan vite.config.js ada dan berisi konfigurasi dasar.

3.1. Install Dependensi Frontend

npm install
npm run dev

Perintah npm run dev akan menyalakan dev server Vite pada http://localhost:5173.

3.2. Memanggil Asset di Blade

<!-- resources/views/welcome.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Laravel 11</title>
    @vite('resources/css/app.css')
    @vite('resources/js/app.js')
</head>
<body>
    <h1 class="text-2xl">Selamat datang di Laravel 11!</h1>
</body>
</html>

4. Menambahkan Authentication Starter Kit dengan Breeze

4.1. Install Breeze

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

Pilih vue, react, atau blade sesuai kebutuhan. Contoh di atas menggunakan Vue.

4.2. Migrasi Database

php artisan migrate

Ini akan membuat tabel users, password_resets, dll.

5. Mengamankan API dengan Laravel Sanctum

5.1. Install Sanctum

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

5.2. Konfigurasi Middleware

Tambahkan EnsureFrontendRequestsAreStateful::class ke api middleware group di app/Http/Kernel.php:

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

5.3. Contoh Endpoint API

// routes/api.php
use AppHttpControllersAPI\UserController;

Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'show']);

5.4. Request Token dari Frontend

import axios from 'axios';

axios.post('/login', {email, password})
  .then(response => {
    const token = response.data.token;
    axios.defaults.headers.common['Authorization'] = `Bearer ${token}`;
  });

6. Best Practice Modern

  • Environment Variables: Simpan semua credential di .env dan jangan pernah commit file ini.
  • Database Seeds & Factories: Gunakan php artisan make:factory dan php artisan db:seed untuk data dummy.
  • Testing: Tulis Feature Test dengan Pest atau PHPUnit. Contoh: php artisan test.
  • Code Formatting: Pasang Laravel Pint dan integrasikan dengan pre‑commit hook.
  • Cache Config & Routes: Pada produksi jalankan php artisan config:cache dan php artisan route:cache.
  • Docker (Opsional): Buat file docker-compose.yml untuk environment konsisten.

7. Deploy ke Production

  1. Upload kode ke server (Git, FTP, atau CI/CD).
  2. Jalankan composer install --optimize-autoloader --no-dev.
  3. Setel APP_ENV=production dan APP_DEBUG=false di .env.
  4. Build asset: npm ci && npm run build.
  5. Cache konfigurasi: php artisan config:cache, php artisan route:cache, php artisan view:cache.
  6. Restart queue & scheduler jika menggunakan.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki fondasi Laravel 11 yang modern, cepat, dan aman. Vite mempercepat proses front‑end, Breeze memberikan starter kit otentikasi ringan, dan Sanctum melindungi API Anda. Terapkan best practice seperti caching, testing, dan environment yang terisolasi untuk memastikan aplikasi siap produksi dan mudah dipelihara.
Tutorial step‑by‑step setup Laravel 11 dengan Vite, Breeze, Sanctum, serta best practice modern untuk pengembangan web PHP framework yang cepat dan aman.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Livewire)


Tutorial step‑by‑step ini membantu Anda menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menambahkan Livewire untuk pengalaman full‑stack yang modern dan aman.

1. Prasyarat

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 dan npm atau Yarn
  • Database MySQL/PostgreSQL/SQLite

2. Instalasi Laravel 11

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

Pastikan .env berisi kredensial database yang tepat, lalu jalankan migrasi:

php artisan migrate

3. Konfigurasi Vite (frontend bundler)

Laravel 11 sudah menggunakan Vite secara default. Instalasi dependensi:

npm install
npm run dev

Untuk produksi:

npm run build

4. Menambahkan Laravel Breeze (starter kit auth)

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

Breeze menyediakan route, controller, dan view dasar dengan autentikasi berbasis session.

4.1. Menjalankan migrasi auth

php artisan migrate

5. Menyiapkan Laravel Sanctum (API token & SPA authentication)

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

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

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

Konfigurasi CORS di config/cors.php agar domain frontend (misal http://localhost:5173) di‑allow.

5.1. Contoh penggunaan token di controller

use Laravel\Sanctum\HasApiTokens;

public function login(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]);
}

6. Menambahkan Livewire (komponen interaktif tanpa JavaScript berlebih)

composer require livewire/livewire
php artisan livewire:install
npm run dev

Livewire otomatis mendaftar script Vite. Buat contoh komponen:

php artisan make:livewire Counter

File app/Http/Livewire/Counter.php:

use Livewire\Component;

class Counter extends Component
{
    public $count = 0;

    public function increment()
    {
        $this->count++;
    }

    public function render()
    {
        return view('livewire.counter');
    }
}

View resources/views/livewire/counter.blade.php:

<div>
    <button wire:click="increment">Tambah</button>
    <span>{{ $count }}</span>
</div>

Masukkan ke halaman Blade:

@livewire('counter')

7. Best Practice Modern

  • Environment variables: gunakan .env.example yang lengkap dan jangan commit .env ke repo.
  • Docker: bangun container PHP‑FPM, Nginx, dan MySQL untuk konsistensi lingkungan.
  • Testing: tulis unit & feature test dengan PHPUnit & Pest; jalankan php artisan test dalam CI.
  • Code style: terapkan PHP‑CS‑Fixer dan Laravel Pint untuk standar kode.
  • Cache config & routes: php artisan config:cache & php artisan route:cache sebelum deploy.
  • Security: aktifkan APP_DEBUG=false di produksi, gunakan HTTPS & HSTS, serta set Sanctum cookie same_site=lax.

8. Deploy ke Production

# contoh dengan Laravel Forge atau Vapor
git push production main
ssh user@server
cd /var/www/html
composer install --optimize-autoloader --no-dev
npm ci && npm run build
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache

Setelah selesai, pastikan queue dan scheduler berjalan via Supervisor atau systemd.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang modern, aman, dan siap dikembangkan lebih lanjut menggunakan Vite, Breeze, Sanctum, dan Livewire. Praktik terbaik seperti pengelolaan environment, testing, dan deployment otomatis akan memastikan aplikasi Anda skalabel dan mudah dipelihara.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Livewire. Langkah demi langkah, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web dengan Laravel, PHP Framework, dan Web Development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Setup Laravel 11 dengan Best Practice Modern: Vite, Breeze, Sanctum, dan Tailwind CSS


Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru dan mengkonfigurasi stack modern termasuk Vite, Breeze, Sanctum, serta Tailwind CSS, sehingga Anda dapat memulai proyek dengan arsitektur yang aman, cepat, dan siap produksi.

1. Prerequisite

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (LTS)
  • Database (MySQL, PostgreSQL, atau SQLite)

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd my-app

3. Menggunakan Vite (frontend bundler bawaan)

Laravel 11 sudah terintegrasi dengan Vite, cukup install dependensi Node:

npm install

Jalankan dev server:

npm run dev

Pastikan vite.config.js berisi:

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

4. Instalasi Laravel Breeze (starter kit authentication)

Breeze menyediakan scaffolding minimal dengan Tailwind CSS dan Laravel Sanctum untuk API token:

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

Jika ingin versi Vue atau React, gunakan php artisan breeze:install vue atau react.

5. Menambahkan Laravel Sanctum (API authentication)

composer require laravel/sanctum

Publish konfigurasi dan migrasi:

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

Tambahkan middleware ke api guard di app/Http/Kernel.php:

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

Contoh route API yang dilindungi:

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

6. Mengkonfigurasi Tailwind CSS (styling utilities)

Laravel Breeze sudah menyertakan Tailwind, namun pastikan file tailwind.config.js meng‑scan semua blade/Vue/React files:

module.exports = {
    content: [
        './resources/**/*.blade.php',
        './resources/**/*.js',
        './resources/**/*.vue',
    ],
    theme: {
        extend: {},
    },
    plugins: [],
};

7. Setup Environment & Database

Ubah .env:

APP_NAME="MyLaravelApp"
APP_ENV=local
APP_KEY=base64:GENERATE_WITH_php artisan key:generate
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel11
DB_USERNAME=root
DB_PASSWORD=

Jalankan migrasi:

php artisan migrate

8. Best Practice Modern

  • Environment segregation: gunakan .env.testing untuk CI, jangan commit .env.
  • Static analysis: install phpstan atau psalm untuk kualitas kode.
  • Code style: jalankan ./vendor/bin/pint (Laravel Pint) sebelum commit.
  • Cache config & routes: pada production jalankan php artisan config:cache dan php artisan route:cache.
  • HTTPS & CSP: aktifkan AppHttpMiddlewareSecureHeaders (paket spatie/laravel-csp) untuk keamanan.
  • Docker support: gunakan image resmi php:8.2-fpm dan node:20-alpine untuk environment reproducible.

9. Menjalankan di Production

# Build assets
npm run build

# Optimasi Laravel
php artisan optimize:clear
php artisan view:cache
php artisan route:cache
php artisan config:cache

# Set proper permissions
chown -R www-data:www-data storage bootstrap/cache

Deploy ke server (Laravel Forge, Vapor, atau VPS) dengan memastikan queue worker dan scheduler berjalan.


Dengan mengikuti langkah‑step ini Anda memiliki foundation Laravel 11 yang modern, aman, dan siap skala. Vite mempercepat bundling asset, Breeze memberikan UI cepat dengan Tailwind, dan Sanctum melindungi API. Terapkan best practice seperti caching, static analysis, dan Docker untuk memastikan proyek tetap maintainable dalam jangka panjang.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind CSS. Ikuti langkah‑step modern, konfigurasi, contoh kode, dan best practice untuk proyek PHP Framework terbaru.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan lain-lain)


Pelajari cara menyiapkan proyek Laravel terbaru (v11) dari awal dengan stack modern: Vite untuk asset bundling, Breeze untuk starter kit, dan Sanctum untuk API authentication.

1. Prasyarat

Pastikan sistem Anda memiliki:

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 dan npm atau Yarn
  • Database (MySQL, PostgreSQL, atau SQLite)

2. Instalasi Laravel 11

composer create-project laravel/laravel blog --prefer-dist "^11.0"

Perintah di atas membuat folder blog dengan Laravel 11.

2.1. Masuk ke Direktori

cd blog

3. Setup Frontend dengan Vite

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

npm install

Jalankan dev server:

npm run dev

Jika ingin production build:

npm run build

4. Install Laravel Breeze (Blade + Livewire atau Inertia)

Kita gunakan Breeze dengan Blade + Livewire karena paling umum.

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

Jika ingin Inertia + Vue:

php artisan breeze:install vue

Setelah instalasi, jalankan migrasi:

php artisan migrate

4.1. Compiling Assets

npm run dev

5. Tambahkan Laravel Sanctum untuk API Authentication

composer require laravel/sanctum

Publish konfigurasi dan migrasi:

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

Aktifkan middleware Sanctum di app/Http/Kernel.php:

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

5.1. Membuat Personal Access Token

$user = App\Models\User::find(1);
$token = $user->createToken('api-token')->plainTextToken;

Gunakan token ini di header Authorization: Bearer <token> untuk request API.

6. Konfigurasi Environment

# .env
APP_NAME="Laravel"
APP_ENV=local
APP_KEY=base64:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
APP_DEBUG=true
APP_URL=http://localhost

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost

VITE_APP_NAME="Laravel Vite"

7. Best Practice Tambahan

  • Environment Segregation: Gunakan file .env.testing untuk test suite.
  • Code Style: Jalankan vendor/bin/pint untuk standar coding.
  • Git Hooks: Pasang pre‑commit hook untuk linting JavaScript dan PHP.
  • Cache Configuration: Set CACHE_DRIVER=redis di production.
  • Queue: Gunakan database driver untuk dev, redis untuk production.
  • Security: Aktifkan APP_DEBUG=false di production, dan gunakan helmet pada frontend.

8. Verifikasi Instalasi

Jalankan server built‑in Laravel:

php artisan serve

Kunjungi http://localhost:8000. Anda harus melihat halaman welcome dengan tautan login/registrasi yang di‑generate oleh Breeze.

Uji endpoint API yang dilindungi Sanctum:

curl -H "Authorization: Bearer YOUR_TOKEN" http://localhost:8000/api/user

Jika respons menampilkan data user, setup berhasil.


Dengan mengikuti tutorial ini, Anda memiliki proyek Laravel 11 yang modern, terstruktur, dan siap untuk pengembangan lebih lanjut. Vite memberikan kecepatan asset bundling, Breeze mempercepat scaffolding UI, dan Sanctum menyediakan authentication yang aman untuk API. Terapkan best practice di atas untuk menjaga kualitas kode dan performa di lingkungan produksi.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Panduan lengkap instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework dalam pengembangan Web Development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Setup Laravel 11 Terbaru dengan Best Practice Modern: Vite, Breeze, Sanctum, dan Livewire


Panduan lengkap langkah demi langkah untuk menginstal Laravel 11, mengkonfigurasi Vite, Breeze, Sanctum, serta menambahkan Livewire, memastikan aplikasi siap produksi dengan praktik terbaik terkini di tahun 2026.

1. Persyaratan Sistem

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 & npm
  • Database (MySQL 8+, PostgreSQL 15+, atau SQLite)

2. Instalasi Laravel 11

composer create-project laravel/laravel example-app "11.*" --quiet
cd example-app

Perintah di atas mengunduh kerangka kerja Laravel 11 terbaru.

3. Mengganti Mix dengan Vite (Default)

Laravel 11 sudah menyertakan Vite. Pastikan file vite.config.js ada dan sesuaikan jika diperlukan.

npm install
npm run dev

Gunakan npm run build untuk produksi.

4. Menambahkan Laravel Breeze (Auth & UI)

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

Breeze memberi scaffolding autentikasi lengkap dengan Vue 3 & Vite.

4.1. Migrasi Database

php artisan migrate

5. Mengamankan API dengan Laravel Sanctum

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

Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api di Kernel.php untuk SPA.

5.1. Konfigurasi CORS

// config/cors.php
'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://localhost:5173'],
'allowed_headers' => ['*'],
'supports_credentials' => true,

6. Menambahkan Livewire 3 (Realtime UI)

composer require livewire/livewire
php artisan livewire:publish --assets

Livewire kini terintegrasi dengan Vite secara otomatis.

6.1. Contoh Komponen Livewire

php artisan make:livewire Counter

File app/Http/Livewire/Counter.php:

namespace App\Http\Livewire;
use Livewire\Component;
class Counter extends Component {
    public $count = 0;
    public function increment() { $this->count++; }
    public function render() { return view('livewire.counter'); }
}

Blade view resources/views/livewire/counter.blade.php:

<div>
    <h1>Count: {{ $count }}</h1>
    <button wire:click="increment">Tambah</button>
</div>

7. Struktur Direktori & Best Practice

  • Routes: pisahkan API (routes/api.php) dan web (routes/web.php).
  • Controllers: gunakan php artisan make:controller --api untuk API.
  • Form Request Validation: buat php artisan make:request StorePostRequest daripada validasi di controller.
  • Service Layer: letakkan logika bisnis di app/Services untuk menjaga controller ringan.
  • DTO & Resources: gunakan Data Transfer Objects dan API Resources untuk response konsisten.
  • Testing: jalankan php artisan test dan gunakan Pest atau PHPUnit.

8. Deploy ke Production

  1. Set environment di .env.production (APP_ENV=production, APP_DEBUG=false).
  2. Jalankan composer install --optimize-autoloader --no-dev.
  3. Compile aset: npm run build.
  4. Migrasi & seed: php artisan migrate --force.
  5. Cache konfigurasi & routes: php artisan config:cache && php artisan route:cache.
  6. Gunakan server PHP-FPM + Nginx, atau Laravel Octane (Swoole) untuk performa tinggi.

Dengan langkah‑langkah di atas, proyek Laravel Anda siap untuk dijalankan secara modern, aman, dan scalable di tahun 2026.


Menggabungkan Vite, Breeze, Sanctum, dan Livewire dalam Laravel 11 memberikan fondasi yang kuat untuk aplikasi web modern. Dengan mengikuti best practice configurasi, struktur kode, serta workflow deployment, developer dapat membangun solusi yang cepat, aman, dan mudah dipelihara pada ekosistem Laravel terkini.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Livewire. Panduan lengkap 2026 untuk best practice modern Laravel development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Setup Laravel 11 dengan Best Practice Modern: Vite, Breeze, Sanctum, dan TypeScript


Panduan lengkap instalasi Laravel 11 terbaru serta integrasi Vite, Breeze, Sanctum, dan TypeScript untuk pengembangan aplikasi web modern di tahun 2026.

1. Persiapan Lingkungan

Pastikan server Anda memiliki PHP 8.3+, Composer 2.7+, dan Node.js 20+. Verifikasi versi dengan perintah:

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

2. Instalasi Laravel 11

Gunakan Composer untuk membuat proyek baru:

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

Masuk ke folder proyek:

cd laravel-app

3. Setup Vite (Asset Bundler Modern)

Laravel 11 sudah menyertakan Vite secara default, tetapi pastikan dependensi terbaru terpasang:

npm install
npm install -D vite laravel-vite-plugin @vitejs/plugin-vue

Ubah vite.config.js jika ingin menambahkan TypeScript atau Vue:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

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

Jalankan dev server:

npm run dev

4. Instalasi Laravel Breeze dengan Tailwind & Vue

Breeze menyediakan scaffolding autentikasi ringan. Pilih stack vue untuk integrasi dengan Vite:

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

Jalankan migrasi database:

php artisan migrate

5. Konfigurasi Laravel Sanctum (API Token & SPA Authentication)

Instal Sanctum:

composer require laravel/sanctum

Publish konfigurasi dan migrasi:

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

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

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

Di file config/sanctum.php, pastikan stateful berisi domain front‑end Anda, contoh:

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

Gunakan guard sanctum di config/auth.php untuk API:

'guards' => [
    'api' => [
        'driver' => 'sanctum',
        'provider' => 'users',
    ],
],

6. Menggunakan TypeScript di Resources

Ubah file utama menjadi resources/js/app.ts dan tambahkan contoh:

import { createApp } from 'vue';
import ExampleComponent from './components/ExampleComponent.vue';

const app = createApp({});
app.component('example-component', ExampleComponent);
app.mount('#app');

Pastikan tsconfig.json ada di root proyek (Composer installer menambahkannya otomatis).

7. Best Practice Modern

  • Environment Files: Simpan kunci API dan konfigurasi sensitif di .env dan gunakan env() di config.
  • Cache Config & Routes: Setelah selesai develop, jalankan php artisan config:cache dan php artisan route:cache.
  • Static Asset Versioning: Vite menambahkan hash otomatis; pastikan @vite dipanggil di Blade.
  • Testing: Gunakan php artisan test dengan PHPUnit 11 dan Pest untuk testing unit & feature.
  • Security: Aktifkan APP_DEBUG=false di produksi, gunakan HTTPS, dan konfigurasi CSP di middleware.

8. Deploy ke Production

  1. Build assets: npm run build
  2. Set environment: .env.production dan jalankan php artisan config:cache
  3. Optimasi autoloader: composer install --optimize-autoloader --no-dev
  4. Jalankan migrasi: php artisan migrate --force
  5. Restart queue & cache (jika ada): php artisan queue:restart dan php artisan cache:clear

Dengan langkah‑langkah di atas, aplikasi Laravel 11 siap untuk skala modern, SPA, dan API yang aman.


Laravel 11 dengan Vite, Breeze, Sanctum, dan TypeScript menawarkan workflow pengembangan yang cepat, aman, dan ready‑to‑scale. Ikuti best practice di atas untuk menjaga performa, keamanan, dan kemudahan pemeliharaan di lingkungan produksi 2026.
Panduan lengkap setup Laravel 11 modern dengan Vite, Breeze, Sanctum, dan TypeScript. Langkah demi langkah, konfigurasi, contoh kode, dan best practice untuk 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern: Vite, Breeze, Sanctum, dan TailwindCSS


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru dan mengonfigurasi stack modern menggunakan Vite, Breeze, Sanctum, serta TailwindCSS, sehingga proyek Anda siap produksi dengan arsitektur yang bersih dan aman.

1. Persiapan Lingkungan

1.1. Prasyarat

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 (npm atau yarn)
  • Database (MySQL 8+, PostgreSQL, atau SQLite)
  • Git

1.2. Buat Project Baru

composer create-project laravel/laravel blog --prefer-dist
cd blog

Perintah di atas mengunduh Laravel 11 (versi stabil pada 2026) ke folder blog.

2. Instalasi Vite (Frontend Bundler)

2.1. Hapus Laravel Mix (jika ada)

rm -rf resources/js resources/css

2.2. Install Vite dan plugin resmi Laravel

npm install --save-dev vite laravel-vite-plugin
npm install --save-dev @vitejs/plugin-react # optional for React
npm install tailwindcss postcss autoprefixer
npx tailwindcss init -p

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

2.4. Tambahkan script npm

"scripts": {
    "dev": "vite",
    "build": "vite build"
}

3. Setup TailwindCSS

3.1. Edit tailwind.config.js

module.exports = {
  content: [
    './resources/**/*.blade.php',
    './resources/**/*.js',
    './resources/**/*.vue',
  ],
  theme: {
    extend: {},
  },
  plugins: [],
};

3.2. Buat resources/css/app.css

@tailwind base;
@tailwind components;
@tailwind utilities;

4. Instalasi Laravel Breeze (Auth scaffolding)

4.1. Install package

composer require laravel/breeze --dev
php artisan breeze:install vue --pest
# atau gunakan --react, --blade, --inertia sesuai kebutuhan

4.2. Install dependensi frontend

npm install
npm run dev

4.3. Migrasi database

php artisan migrate

5. Integrasi Laravel Sanctum (API Authentication)

5.1. Install Sanctum

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

5.2. Aktifkan middleware di app/Http/Kernel.php

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

Tambahkan ke grup api atau web sesuai skenario.

5.3. Buat API Token contoh

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

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

6. Best Practice Modern

  • Environment Variables: Simpan semua credential di .env dan gunakan config:cache untuk produksi.
  • Database Configuration: Gunakan DB_CONNECTION=mysql dengan strict=true dan timezone=+00:00 untuk konsistensi.
  • Code Quality: Jalankan php artisan lint (Laravel Pint) dan npm run lint (ESLint) secara otomatis dengan Git hooks.
  • Testing: Tulis Feature Test menggunakan PestPHP; contoh:
    uses(Tests\Feature\ExampleTest::class);
    
    test('user can register', function () {
        $response = $this->postJson('/register', [
            'name' => 'John',
            'email' => '[email protected]',
            'password' => 'secret',
            'password_confirmation' => 'secret',
        ]);
        $response->assertCreated();
    });
    
  • Deployment: Build assets (npm run build), cache konfigurasi (php artisan config:cache), route (php artisan route:cache), dan optimize (php artisan optimize).
  • Security: Aktifkan APP_DEBUG=false, gunakan HTTPS, set SESSION_SECURE_COOKIE=true, dan rotasi secret key secara berkala.

7. Verifikasi Instalasi

# Jalankan server development
php artisan serve
# Buka browser: http://localhost:8000
# Pastikan tampilan login Breeze muncul dan CSS Tailwind ter‑render.

# Test API token
curl -X POST http://localhost:8000/api/login -H "Content-Type: application/json" -d '{"email":"[email protected]","password":"secret"}'

Jika semua langkah berhasil, proyek Laravel 11 Anda siap untuk pengembangan lebih lanjut dengan arsitektur modern.


Dengan mengikuti tutorial ini, Anda telah menyiapkan Laravel 11 lengkap dengan Vite, TailwindCSS, Breeze, dan Sanctum—kombinasi stack yang menjadi standar best practice untuk aplikasi web modern di tahun 2026. Praktik keamanan, testing, dan optimasi yang diterapkan memastikan kode Anda siap produksi dan mudah dipelihara.
Tutorial step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan TailwindCSS. Panduan instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan lain-lain)


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Laravel Sanctum, serta menerapkan praktik terbaik modern agar proyek Anda siap produksi.

1. Prasyarat

  • PHP 8.3 atau lebih tinggi
  • Composer 2.x
  • Node.js 20.x dan npm atau Yarn
  • Database MySQL/PostgreSQL

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd contoh-app

3. Setup Vite (Asset Bundler Modern)

Laravel 11 sudah menyertakan Vite secara default, tapi pastikan dependensi ter‑install:

npm install

Jalankan dev server:

npm run dev

Pastikan vite.config.js berisi plugin Laravel:

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

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

Jika ingin React atau Blade, ganti parameter sesuai (react, blade).

npm install && npm run dev

Jalankan migrasi:

php artisan migrate

5. Konfigurasi Laravel Sanctum (SPA Authentication)

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

Tambahkan middleware di app/Http/Kernel.php:

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

Set konfigurasi CORS di config/cors.php agar domain frontend di‑allow:

'paths' => ['api/*', 'sanctum/csrf-cookie'],
'allowed_methods' => ['*'],
'allowed_origins' => ['http://localhost:5173'], // sesuaikan dengan Vite dev URL
'allowed_headers' => ['*'],
'supports_credentials' => true,

Contoh request login di Vue (berdasarkan Breeze):

await axios.get('http://localhost:8000/sanctum/csrf-cookie', { withCredentials: true });
await axios.post('/login', { email, password }, { withCredentials: true });

6. Pengaturan Env untuk Production

  • Set APP_ENV=production dan APP_DEBUG=false
  • Konfigurasi cache: php artisan config:cache, php artisan route:cache, php artisan view:cache
  • Optimasi autoloader: composer install --optimize-autoloader --no-dev
  • Build assets: npm run build

7. Best Practice Modern

  • Environment Segregation: gunakan .env.example sebagai template, jangan commit .env.
  • Database Transactions dalam testing: gunakan RefreshDatabase trait.
  • Laravel Pint untuk coding standard: composer require laravel/pint --dev lalu ./vendor/bin/pint.
  • Static Analysis dengan PHPStan atau Psalm.
  • Docker untuk konsistensi dev environment (Laravel Sail). Jalankan ./vendor/bin/sail up -d.
  • Feature Flags menggunakan package spatie/laravel-feature-flags bila diperlukan.

8. Deploy ke Server Linux

  1. Upload kode via Git atau FTP.
  2. Install dependencies:
  3. composer install --no-dev --optimize-autoloader
    npm ci --production
    npm run build
    
  4. Set permission:
  5. chown -R www-data:www-data storage bootstrap/cache
    chmod -R 775 storage bootstrap/cache
    
  6. Configure web server (NGINX contoh):
  7. server {
        listen 80;
        server_name contoh.com;
        root /var/www/contoh-app/public;
        index index.php;
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php8.3-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    
  8. Run migrations & queue workers:
  9. php artisan migrate --force
    php artisan queue:work --daemon --quiet &
    

Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang teroptimasi, menggunakan Vite untuk asset bundling, Breeze sebagai starter UI, dan Sanctum untuk autentikasi SPA. Praktik terbaik modern seperti caching, Docker, dan static analysis memastikan kode bersih, aman, dan siap skala produksi.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk developer PHP Framework di 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Pelajari cara menginstal Laravel versi terbaru, mengatur Vite untuk asset bundling, menambahkan Breeze untuk scaffolding, serta mengamankan API dengan Sanctum—semua langkah demi langkah untuk proyek 2026 yang siap produksi.

1. Prasyarat

  • PHP 8.3 atau lebih baru
  • Composer 2.7+
  • Node.js 20.x dan npm 10.x
  • Database MySQL 8 atau PostgreSQL 15

2. Instalasi Laravel 11

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

Perintah di atas membuat proyek bernama blog dengan Laravel 11 stabil.

2.1. Verifikasi Instalasi

cd blog
php artisan --version

Output harus menampilkan Laravel Framework 11.x.x.

3. Setup Vite (Asset Bundler)

Laravel 11 sudah menyertakan Vite secara default. Pastikan file vite.config.js ada di root.

npm install
npm run dev

Server Vite akan berjalan di http://localhost:5173 dan hot‑module‑replacement (HMR) aktif.

3.1. Menambahkan Tailwind CSS

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
npx tailwindcss init -p

Edit tailwind.config.js:

module.exports = {
    content: [
        './resources/**/*.blade.php',
        './resources/**/*.js',
        './resources/**/*.vue',
    ],
    theme: {
        extend: {},
    },
    plugins: [],
};

Tambah import ke resources/css/app.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

4. Instalasi Laravel Breeze (Authentication Scaffolding)

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

Pilih vue atau react sesuai kebutuhan; contoh ini memakai Vue 3.

4.1. Migrasi Database

php artisan migrate

Setelah migrasi, halaman login/registrasi siap diakses: /login dan /register.

5. Menambahkan Laravel Sanctum untuk API Authentication

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

Edits app/Http/Kernel.php tambahkan middleware EnsureFrontendRequestsAreStateful::class pada grup api:

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

5.1. Konfigurasi Guard

Di config/sanctum.php, pastikan domain SPA diatur:

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

5.2. Membuat Token API

use Laravel\Sanctum\PersonalAccessToken;

$user = App\Models\User::find(1);
$token = $user->createToken('mobile-app')->plainTextToken;

Gunakan token tersebut pada header Authorization: Bearer <token> saat memanggil endpoint API.

6. Menambahkan Jetstream (Opsional) untuk Teams & 2FA

composer require laravel/jetstream
php artisan jetstream:install livewire --teams
npm install && npm run dev
php artisan migrate

Jika proyek memerlukan fitur tim atau two‑factor authentication, Jetstream menyediakan UI lengkap.

7. Best Practice Modern

  • Environment Config: Simpan rahasia di .env dan gunakan config:cache.
  • Database: Pakai migration & seeders; versioning dengan php artisan migrate:fresh --seed.
  • Testing: Laravel 11 mendukung PHPUnit 11 dan Pest; contoh:
composer require pestphp/pest --dev
./vendor/bin/pest
  • Code Quality: Gunakan PHP CS Fixer atau Pint (Laravel Pint built‑in) dengan ./vendor/bin/pint.
  • Docker: Deploy dengan Laravel Sail (Docker) untuk konsistensi lingkungan.
  • Cache & Queue: Konfigurasi Redis sebagai driver default; contoh di .env:
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
SESSION_DRIVER=redis

8. Deploy ke Production

  1. Set APP_ENV=production dan APP_DEBUG=false di .env.
  2. Compile assets: npm run build.
  3. Cache konfigurasi, routes, dan views:
php artisan config:cache
php artisan route:cache
php artisan view:cache

Gunakan layanan seperti Forge, Vapor, atau CI/CD pipeline (GitHub Actions) untuk otomatisasi.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki fondasi Laravel 11 yang modern, cepat, dan aman. Vite memberikan bundling front‑end yang efisien, Breeze (atau Jetstream) mempercepat scaffolding otentikasi, dan Sanctum melindungi API Anda. Terapkan best practice seperti caching, Docker, dan testing untuk memastikan aplikasi siap skala produksi di tahun 2026.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern. Panduan lengkap untuk developer PHP Framework di 2026.

Laravel,PHP Framework,Web Development,Vite,Breeze,Sanctum,Laravel 11

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Tailwind)


Ikuti tutorial step-by-step ini untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, dan Tailwind CSS sehingga aplikasi Anda siap produksi dengan arsitektur modern.

1. Prasyarat

  • PHP 8.3+ (rekomendasi 8.3.2)
  • Composer 2.7+
  • Node.js 20+ dan npm 10+
  • Database MySQL atau PostgreSQL

2. Instalasi Laravel 11

composer create-project laravel/laravel my-app "^11.0"

Perintah ini mengunduh kerangka kerja Laravel versi stabil terbaru (11.x) ke folder my-app.

2.1. Masuk ke Direktori Proyek

cd my-app

3. Setup Frontend Modern dengan Vite

Laravel 11 sudah menyertakan Vite sebagai build tool default. Pastikan dependency npm terinstall.

npm install
npm run dev

Perintah npm run dev akan menyalakan server Vite dengan Hot Module Replacement.

4. Instalasi Laravel Breeze (Starter Kit)

Breeze menyediakan scaffolding otentikasi ringan berbasis Blade atau Inertia.js. Di tutorial ini kita pakai Blade + Tailwind.

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

Setelah perintah di atas selesai, jalankan migrasi database:

php artisan migrate

5. Konfigurasi Tailwind CSS (Opsional Kustomisasi)

Laravel Breeze sudah menginstal Tailwind, tetapi Anda dapat menyesuaikan tailwind.config.js:

module.exports = {
  content: [
    "./resources/**/*.blade.php",
    "./resources/**/*.js",
    "./resources/**/*.vue",
  ],
  theme: {
    extend: {
      colors: {
        primary: "#4f46e5",
      },
    },
  },
  plugins: [],
};

6. Menambahkan Laravel Sanctum untuk API Token

Sanctum memungkinkan otentikasi API token dan SPA authentication.

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

Update config/sanctum.php jika aplikasi Anda ber‑SPA: set stateful domains ke domain front‑end Anda.

6.1. Middleware Global

Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke api middleware group di app/Http/Kernel.php:

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

6.2. Membuat Token

use App\Models\User;

$user = User::find(1);
$token = $user->createToken('mobile-app')->plainTextToken;
return response()->json(['token' => $token]);

7. Best Practice Modern

  • Environment Variables: Simpan kunci API, database, dan JWT di .env dan jangan pernah commit.
  • Route Caching: Jalankan php artisan route:cache di production.
  • Configuration Caching: php artisan config:cache.
  • Queue & Jobs: Gunakan redis driver untuk queue dan schedule tugas dengan cron.
  • Testing: Tulis unit & integration test dengan phpunit dan Laravel Pest.
  • Docker: Deploy dengan container resmi laravelphp/php-fpm dan node:20-alpine untuk build assets.

8. Deploy ke Production (Contoh dengan Laravel Forge)

  1. Buat site baru di Forge, pilih PHP 8.3.
  2. Gunakan repository GitHub yang sudah ter‑push.
  3. Set environment variables di Forge (APP_ENV=production, APP_KEY, DB_*, SANCTUM_STATEFUL_DOMAINS, dll).
  4. Jalankan composer install --optimize-autoloader --no-dev dan npm ci && npm run build.
  5. Aktifkan php artisan migrate --force dan php artisan queue:restart.

Anda kini memiliki aplikasi Laravel 11 modern dengan Vite, Breeze, Sanctum, dan Tailwind siap melayani pengguna.


Dengan mengikuti langkah‑langkah di atas, Anda dapat menyiapkan proyek Laravel 11 yang modern, aman, dan scalable. Memanfaatkan Vite untuk asset bundling, Breeze untuk scaffolding otentikasi, serta Sanctum untuk API token memberi fondasi kuat bagi aplikasi web atau SPA di 2026. Terapkan best practice seperti caching, environment management, dan containerization untuk memastikan performa produksi optimal.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind. Panduan step-by-step, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Pelajari cara menyiapkan proyek Laravel 11 terbaru di 2026 dengan menggunakan frontend build tool Vite, starter kit Breeze, autentikasi API Sanctum, serta praktik keamanan dan struktur folder modern.

1. Prasyarat

Pastikan Anda memiliki:

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

2. Instalasi Laravel 11

composer create-project laravel/laravel blog "^11.0" --prefer-dist
cd blog

Perintah di atas mengunduh versi stabil Laravel 11 yang dirilis pada akhir 2025.

3. Mengaktifkan Vite

Laravel 11 sudah terintegrasi dengan Vite secara default, namun pastikan dependensi front‑end terinstall.

# Menggunakan npm
npm install
# atau Yarn
yarn install

Jalankan server pengembangan Vite:

npm run dev

4. Menambahkan Starter Kit Breeze

Breeze menyediakan scaffolding authentication berbasis Blade atau Inertia. Di tutorial ini kita pakai Blade.

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

Jalankan migrasi:

php artisan migrate

5. Konfigurasi Sanctum untuk API Token

Sanctum memungkinkan autentikasi SPA dan token‑based API.

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

Tambahkan middleware pada app/Http/Kernel.php:

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

Set SESSION_DOMAIN dan SANCTUM_STATEFUL_DOMAINS di .env sesuai domain pengembangan.

6. Struktur Folder Best Practice

  • app/Models – Simpan semua model Eloquent.
  • app/Http/Controllers/API – Controller khusus API yang memakai Sanctum.
  • app/Http/Requests – Form request validation terpisah.
  • routes/api.php – Daftar route API, beri prefix api secara otomatis.
  • resources/js – Tempat file Vite, gunakan resources/js/app.js sebagai entry point.
  • resources/views – Blade template, pisahkan layout di layouts.

7. Contoh Kode API dengan Sanctum

Buat controller app/Http/Controllers/API/PostController.php:

namespace AppHttpControllersAPI;

use AppModelsPost;
use AppHttpControllersController;
use IlluminateHttpRequest;

class PostController extends Controller
{
    public function index()
    {
        return response()->json(Post::latest()->paginate(10));
    }

    public function store(Request $request)
    {
        $validated = $request->validate([
            'title' => 'required|string|max:255',
            'body'  => 'required|string',
        ]);
        $post = Post::create($validated);
        return response()->json($post, 201);
    }
}

Daftarkan route di routes/api.php:

use App\Http\Controllers\API\PostController;

Route::middleware('auth:sanctum')->group(function () {
    Route::get('/posts', [PostController::class, 'index']);
    Route::post('/posts', [PostController::class, 'store']);
});

8. Menjalankan Proyek

# Server Laravel
php artisan serve
# Vite dev server
npm run dev

Akses http://localhost:8000 untuk UI Breeze, dan gunakan http://localhost:8000/api/posts dengan token Sanctum untuk API.

9. Best Practice Tambahan

  • Gunakan php artisan route:cache dan php artisan config:cache pada produksi.
  • Set APP_ENV=production serta APP_DEBUG=false di .env.
  • Aktifkan HTTPS dengan secure_cookie di config/session.php.
  • Implementasikan logging terpusat lewat LaravelLog atau layanan seperti Sentry.

Dengan mengikuti langkah‑langkah di atas, Anda mendapatkan proyek Laravel 11 yang modern, cepat, dan aman. Vite mempercepat proses front‑end, Breeze menyediakan UI autentikasi siap pakai, dan Sanctum memastikan API dapat diakses secara terproteksi. Terapkan best practice produksi untuk performa dan keamanan optimal.
Tutorial lengkap setup Laravel 11 di 2026 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web cepat dan aman.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Panduan Lengkap Setup Laravel 11 dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Tailwind)


Artikel ini menjelaskan langkah‑demi‑langkah menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, serta menyiapkan Tailwind CSS untuk pengembangan aplikasi web modern dengan Laravel, PHP Framework, dan Web Development.

1. Persiapan Lingkungan

Pastikan server Anda memenuhi persyaratan Laravel 11:

  • PHP >= 8.2
  • Ekstensi PHP: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath
  • Composer 2.x
  • Node.js >= 20 dengan npm atau Yarn

2. Instalasi Laravel 11

composer create-project laravel/laravel myapp "11.*"

Masuk ke direktori proyek:

cd myapp

3. Mengganti Mix dengan Vite (Sudah bawaan)

Laravel 11 mengintegrasikan Vite secara default. Pastikan file vite.config.js ada di root proyek. Jika tidak, jalankan:

npm install && npm run dev

Perintah di atas meng‑install dependensi npm dan memulai server Vite.

4. Instalasi Laravel Breeze (Frontend & Authentication)

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

Anda bisa pilih blade, react, atau vue. Contoh di atas menggunakan Vue 3. Setelah itu, install assets:

npm install && npm run dev

Jalankan migrasi database:

php artisan migrate

5. Konfigurasi Tailwind CSS (Sudah termasuk Breeze)

Jika belum terinstall, tambahkan:

npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
npx tailwindcss init -p

Sesuaikan tailwind.config.js:

module.exports = {
    content: [
        "./resources/**/*.blade.php",
        "./resources/**/*.js",
        "./resources/**/*.vue",
    ],
    theme: { extend: {} },
    plugins: [],
};

Tambahkan direktif Tailwind ke resources/css/app.css:

@tailwind base;
@tailwind components;
@tailwind utilities;

6. Instalasi Laravel Sanctum (API Token & SPA Authentication)

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

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

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

Di config/sanctum.php, pastikan stateful mencakup domain lokal Anda:

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

7. Membuat API Guard dengan Sanctum

Contoh route di routes/api.php:

use App\Http\Controllers\API\UserController;

Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'profile']);

Controller contoh:

namespace App\Http\Controllers\API;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

class UserController extends Controller {
    public function profile(Request $request) {
        return response()->json($request->user());
    }
}

8. Best Practice untuk Pengembangan Modern

  • Environment Variables: Simpan kunci rahasia di .env dan jangan pernah commit.
  • Docker: Gunakan container resmi laravelphp/php-fpm dan node untuk konsistensi lintas tim.
  • Testing: Tambahkan pestphp/pest atau phpunit dan tulis tes fitur untuk auth dan API.
  • Code Style: Aktifkan Laravel Pint untuk standar kode otomatis.
  • Version Control: Buat branch feature/auth-sanctum untuk semua perubahan terkait autentikasi.

9. Menjalankan Proyek

# Backend server
php artisan serve --port=8000

# Frontend Vite dev server
npm run dev

Akses http://localhost:8000 untuk melihat aplikasi Laravel dengan UI Breeze, Tailwind, serta autentikasi berbasis Sanctum.


Dengan mengikuti langkah‑demi‑langkah di atas, Anda telah menyiapkan Laravel 11 yang lengkap dengan Vite, Breeze, Tailwind, dan Sanctum. Konfigurasi ini mencerminkan best practice modern untuk pengembangan aplikasi berbasis PHP Framework Laravel, memudahkan pengembangan frontend SPA serta API yang aman. Selalu perbarui dependensi melalui Composer dan npm, serta terapkan testing dan kode standar untuk menjaga kualitas proyek jangka panjang.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind. Panduan lengkap best practice modern untuk Laravel, PHP Framework, dan Web Development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...