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 Terbaru dengan Best Practice Modern (Vite, Breeze, Sanctum, dan Jetstream)


Tutorial step-by-step ini menjelaskan cara menginstal Laravel 11, mengonfigurasi Vite, menambahkan Laravel Breeze untuk otentikasi, serta mengamankan API dengan Sanctum, lengkap dengan contoh kode dan best practice terkini.

1. Persiapan Lingkungan

1.1. Pastikan Sistem Memenuhi Syarat

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

1.2. Instalasi Laravel Installer (Opsional)

composer global require laravel/installer

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

2. Membuat Proyek Laravel 11 Baru

laravel new blog --jetstream
# atau jika tidak pakai installer
composer create-project laravel/laravel blog "11.*"

Perintah di atas menghasilkan folder blog dengan Laravel 11.

3. Mengganti Mix dengan Vite (Default di Laravel 11)

3.1. Instalasi Dependensi Frontend

cd blog
npm install

3.2. Struktur Direktori

Pastikan file vite.config.js dan resources/js/app.js ada. Laravel 11 telah menyertakan konfigurasi Vite secara default.

3.3. Menjalankan Server Vite

npm run dev

Vite akan menampilkan URL hot-reload, biasanya http://localhost:5173.

4. Menambahkan Laravel Breeze (Frontend Minimal)

4.1. Instalasi Package Breeze

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

4.2. Install Dependencies & Build

npm install && npm run dev

4.3. Migrasi Database

php artisan migrate

Setelah migrasi, rute otentikasi (/login, /register) siap dipakai.

5. Mengamankan API dengan Laravel Sanctum

5.1. Instalasi Sanctum

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

5.2. Konfigurasi Middleware

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

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

5.3. Membuat Token API

use App\Models\User;

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

Gunakan token ini pada header Authorization: Bearer <token> untuk panggilan API.

6. Penataan Folder & Best Practice

  • Domain‑Driven Structure: Buat folder App/Domain untuk layanan bisnis, App/Models tetap untuk entitas.
  • Service Container: Daftarkan binding di App/Providers/AppServiceProvider.php untuk memudahkan testing.
  • Form Request Validation: Hindari validasi di controller; gunakan php artisan make:request StorePostRequest.
  • Resource Classes: Gunakan php artisan make:resource PostResource untuk respons API konsisten.
  • Environment Variables: Simpan rahasia di .env dan gunakan config:cache untuk produksi.
  • Cache & Queue: Aktifkan Redis atau Memcached di .env, set CACHE_DRIVER=redis dan QUEUE_CONNECTION=redis.

7. Deploy ke Production

7.1. Optimasi Config & Routes

php artisan config:cache
php artisan route:cache
php artisan view:cache

7.2. Build Assets untuk Production

npm run build
# menghasilkan /public/build

7.3. Set Permission

chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data .

7.4. Restart Queue Workers (jika memakai)

php artisan queue:restart

8. Testing & Debugging

  • Jalankan php artisan test untuk unit & feature test.
  • Gunakan Laravel Telescope (composer require laravel/telescope) untuk inspeksi request, query, dan error di development.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang modern, cepat berkat Vite, memiliki otentikasi standar lewat Breeze, serta API yang aman menggunakan Sanctum. Struktur folder yang terorganisir dan praktik caching/queue membuat aplikasi siap produksi skalabel dan mudah dipelihara.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah instalasi, 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

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


Tutorial step-by-step memandu Anda menginstal Laravel 11 terbaru, mengintegrasikan Vite, Breeze, Sanctum, serta konfigurasi best practice untuk pengembangan aplikasi web modern.

1. Prerequisite & Lingkungan Pengembangan

Pastikan sistem Anda memenuhi persyaratan berikut:

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

1.1. Verifikasi Versi

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

2. Instalasi Laravel 11 dengan Composer

Gunakan perintah laravel new atau composer create-project untuk membuat proyek baru.

# Menggunakan Laravel Installer (direkomendasikan)
composer global require laravel/installer
laravel new blog --jetstream

# Atau tanpa installer
composer create-project laravel/laravel blog "11.*"

2.1. Struktur Direktori

Setelah instalasi, periksa struktur utama: app/, routes/, resources/views/, vite.config.js, dsb.

3. Konfigurasi Vite sebagai Asset Bundler

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

3.1. Instalasi Dependencies Frontend

cd blog
npm install
# atau yarn
yarn install

3.2. Menjalankan Dev Server

npm run dev
# atau
yarn dev

Anda akan melihat URL http://localhost:5173 yang menyediakan hot‑module replacement.

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

Breeze menyediakan otentikasi ringan serta stack UI pilihan.

4.1. Install Breeze (Blade)

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

4.2. Install Breeze (Inertia + Vue)

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

Setelah instalasi, migrasi database:

php artisan migrate

5. Mengamankan API dengan Laravel Sanctum

Sanctum memungkinkan token‑based authentication untuk SPA atau mobile.

5.1. Instalasi Sanctum

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

5.2. Konfigurasi Middleware

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

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

5.3. Contoh Route API

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

6. Best Practice Modern

  • Environment Variables: Simpan rahasia di .env dan gunakan config:cache untuk produksi.
  • Database Migration & Seeders: Selalu versi skema dengan migration; gunakan factory untuk seed data testing.
  • Docker Development: Gunakan laravel/sail untuk containerized environment.
    ./vendor/bin/sail up -d
  • Code Style: Terapkan PHP CS Fixer atau Laravel Pint (vendor/bin/pint) secara otomatis pada CI.
  • Testing: Tuliskan Feature Test dengan Pest atau PHPUnit; jalankan php artisan test pada setiap pull request.
  • Cache & Queues: Konfigurasi Redis sebagai driver cache & queue untuk performa tinggi.

7. Deployment ke Production

  1. Set APP_ENV=production dan APP_DEBUG=false di .env server.
  2. Run composer install --optimize-autoloader --no-dev.
  3. Generate optimized assets: npm run build.
  4. Cache konfigurasi & routes: php artisan config:cache & php artisan route:cache.
  5. Setup supervisor untuk queue workers jika menggunakan queue.
  6. Pastikan permission folder storage dan bootstrap/cache dapat ditulis.

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki aplikasi Laravel 11 yang terstruktur, aman, dan siap skala. Integrasi Vite, Breeze, dan Sanctum memberikan fondasi modern untuk SPA atau aplikasi monolith tradisional, sementara best practice seperti Docker, caching, dan testing memastikan kualitas kode terjaga di setiap fase pengembangan.
Tutorial step-by-step setup Laravel 11 modern dengan Vite, Breeze, Sanctum, Docker, dan best practice untuk produksi.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Temukan langkah demi langkah instalasi Laravel 11 terkini serta integrasi Vite, Breeze, Sanctum, dan tool modern lainnya untuk memulai proyek PHP Framework yang optimal.

1. Persiapan Lingkungan

1.1. Prasyarat Sistem

Pastikan Anda memiliki:

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 (LTS)
  • Database (MySQL 8.x atau PostgreSQL)

1.2. Install Composer & Node

Jika belum terpasang, jalankan:

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

2. Membuat Project Laravel 11

2.1. Install Laravel Installer (opsional)

composer global require laravel/installer

2.2. Buat Project Baru

laravel new myapp --jetstream

Atau tanpa installer:

composer create-project --prefer-dist laravel/laravel:^11.0 myapp

3. Konfigurasi Vite (Asset Bundler Modern)

3.1. Install Dependencies

cd myapp
npm install

3.2. Sesuaikan vite.config.js

Laravel 11 sudah menyertakan konfigurasi default, namun pastikan ada plugin Laravel Vite:

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

3.3. Jalankan Dev Server

npm run dev

Vite akan melayani asset secara hot‑reloading.

4. Instalasi Laravel Breeze (Starter Kit UI)

4.1. Pilih Stack

Breeze mendukung Blade, React, Vue, dan Inertia. Contoh menggunakan Blade + Tailwind:

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

4.2. Verifikasi

Buka http://localhost:8000/register dan pastikan form registrasi tampil.

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:

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

5.3. Membuat Route API

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

5.4. Menggunakan Token di Frontend

Contoh dengan Fetch API:

fetch('/sanctum/csrf-cookie', { credentials: 'include' })
  .then(() => fetch('/api/user', { credentials: 'include' }))
  .then(res => res.json())
  .then(user => console.log(user));

6. Best Practice Modern

  • Environment Variables: Simpan rahasia di .env dan gunakan config:cache untuk produksi.
  • Database Migrations & Seeders: Selalu versioning schema dengan php artisan migrate --seed.
  • Testing: Gunakan Pest atau PHPUnit, contoh php artisan test.
  • Code Style: Terapkan Laravel Pint (composer require laravel/pint --dev) dan jalankan vendor/bin/pint.
  • Caching: Aktifkan route cache (php artisan route:cache) dan config cache (php artisan config:cache) pada produksi.
  • Docker: Buat Dockerfile dan docker‑compose untuk konsistensi lingkungan dev/production.

7. Deploy ke Production

  1. Push kode ke repository (GitHub, GitLab).
  2. Build assets: npm run build.
  3. Upload ke server, set APP_ENV=production dan APP_DEBUG=false.
  4. Run optimizations:
    php artisan migrate --force
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
  5. Configure web server (NGINX) untuk mengarahkan semua request ke public/index.php.

Dengan mengikuti langkah‑step ini, Anda memiliki aplikasi Laravel 11 yang terstruktur, cepat berkat Vite, aman dengan Sanctum, serta siap untuk skala produksi. Terapkan best practice modern untuk menjaga kualitas kode dan performa proyek PHP Framework Anda.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern. Panduan step-by-step 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)


Tutorial step-by-step untuk menginstal Laravel 11 terbaru, mengintegrasikan Vite, Laravel Breeze, dan Sanctum, serta menerapkan best practice pengembangan aplikasi web modern.

1. Prasyarat

Pastikan Anda sudah menginstall:

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

2. Instalasi Laravel 11

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

Masuk ke folder project:

cd my-app

Penjelasan

Perintah di atas mengunduh Laravel 11 stabil bersama semua dependensi default.

3. Setup Vite (Asset Bundler)

# Install Vite dan plugin Laravel
composer require laravel/vite-plugin

# Install dependencies Node
npm install

# Jalankan dev server
npm run dev

Penjelasan

Laravel 11 sudah mengadopsi Vite sebagai default bundler. vite.config.js sudah ter‑generate, cukup jalankan npm run dev untuk hot‑reloading.

4. Instalasi Laravel Breeze (Starter Kit)

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

Jika lebih suka React:

php artisan breeze:install react

Penjelasan

Breeze menyediakan autentikasi dasar (login, register, reset password) serta scaffolding UI dengan Tailwind CSS. Pilih Vue atau React sesuai kebutuhan.

5. Menambahkan Laravel Sanctum untuk API Token & SPA Authentication

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

Konfigurasi middleware pada app/Http/Kernel.php:

'web' => [
    // ...
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
],

Penjelasan

Sanctum memungkinkan autentikasi token untuk SPA atau mobile apps dan melindungi CSRF secara otomatis.

6. Konfigurasi Environment

# .env
APP_NAME="My Laravel App"
APP_ENV=local
APP_KEY=$(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=laravel11
DB_USERNAME=root
DB_PASSWORD=

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost

MAIL_MAILER=smtp
MAIL_HOST=mailpit
MAIL_PORT=1025
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS="[email protected]"
MAIL_FROM_NAME="${APP_NAME}"

Penjelasan

Pastikan SANCTUM_STATEFUL_DOMAINS berisi domain frontend agar cookie authentication berfungsi.

7. Membuat Route API yang Dilindungi Sanctum

// routes/api.php
use AppHttpControllersProfileController;

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

Controller contoh:

// app/Http/Controllers/ProfileController.php
json($request->user());
    }
}

Penjelasan

Middleware auth:sanctum memastikan hanya pengguna yang telah terautentikasi yang dapat mengakses endpoint.

8. Best Practice Modern

  • Environment Segregation: Simpan rahasia di .env dan gunakan config:cache untuk produksi.
  • Static Analysis: Jalankan phpstan atau psalm secara rutin.
  • Testing: Buat Feature Test untuk API dengan php artisan test.
  • Git Hooks: Gunakan husky untuk linting JavaScript dan pre-commit PHP CS Fixer.
  • Docker: Development dengan docker-compose.yml (php, mysql, redis, mailpit) untuk konsistensi lingkungan.

9. Deploy ke Production

# Build assets
npm run build

# Optimasi Laravel
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan event:cache

# Migrasi DB
php artisan migrate --force

Pastikan server menjalankan PHP 8.2+, memiliki ekstensi pdo_mysql, dan queue worker (Supervisor) untuk job background.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur, menggunakan Vite untuk asset modern, Breeze sebagai starter kit UI, dan Sanctum untuk autentikasi API yang aman. Terapkan best practice seperti caching konfigurasi, static analysis, dan CI/CD untuk menjaga kualitas kode seiring pertumbuhan aplikasi.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Panduan lengkap instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web dengan Laravel, PHP Framework, Web Development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Pelajari cara menginstal dan mengkonfigurasi Laravel 11 terbaru menggunakan tool modern seperti Vite, Breeze, dan Sanctum. Ikuti langkah demi langkah yang akurat dan up to date pada tahun 2026.

1. Prasyarat

Pastikan sistem Anda memenuhi persyaratan berikut:

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

2. Instalasi Laravel 11

2.1 Buat proyek baru

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

Perintah ini mengunduh Laravel 11 stabil bersama semua dependensi default.

2.2 Masuk ke direktori proyek

cd my-app

3. Setup Frontend dengan Vite

3.1 Install dependensi Node

npm install

Laravel 11 sudah mengkonfigurasi Vite secara default (vite.config.js). Pastikan vite dan laravel-vite-plugin ada di package.json.

3.2 Jalankan dev server

npm run dev

Anda akan melihat aplikasi berjalan di http://localhost:5173 dengan hot‑module replacement.

4. Instalasi Laravel Breeze (Starter Kit)

4.1 Tambahkan paket Breeze

composer require laravel/breeze --dev

4.2 Publikasi scaffolding dengan Vite

php artisan breeze:install vue

Pilih vue atau react sesuai kebutuhan. Breeze akan men‑setup routes, controller, view blade, dan komponen Vue/React.

4.3 Install kembali dependensi frontend

npm install && npm run dev

5. Autentikasi API dengan Laravel Sanctum

5.1 Install paket Sanctum

composer require laravel/sanctum

5.2 Publikasikan konfigurasi & migrasi

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

5.3 Tambahkan middleware ke api guard

\App\Http\Kernel::class::class => [
    // ...
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
];

Pastikan sanctum.stateful di config/sanctum.php mencakup domain frontend Anda.

5.4 Contoh endpoint login API

use Illuminate\Http\Request;
use App\Models\User;
use Laravel\Sanctum\PersonalAccessToken;

Route::post('/login', function (Request $request) {
    $credentials = $request->validate([
        'email' => ['required', 'email'],
        'password' => ['required'],
    ]);

    if (!Auth::attempt($credentials)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }

    $user = $request->user();
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
});

6. Konfigurasi Environment

6.1 .env dasar

APP_NAME="Laravel"
APP_ENV=local
APP_KEY=base64:GENERATED_KEY_HERE
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:5173
SESSION_DOMAIN=localhost
COOKIE_DOMAIN=localhost

7. Best Practice Modern

  • Gunakan PHPStan atau Psalm untuk static analysis.
  • Cache konfigurasi dengan php artisan config:cache di produksi.
  • Gunakan queue driver (Redis) untuk email, event, dan job‑heavy tasks.
  • Deploy dengan Laravel Octane (Swoole atau RoadRunner) untuk performa tinggi.
  • Gunakan env‑specific Vite plugins untuk minifikasi dan code‑splitting.

8. Verifikasi Instalasi

Jalankan server built‑in Laravel dan pastikan semua komponen berfungsi:

php artisan serve

Buka http://127.0.0.1:8000 – Anda akan melihat tampilan default Breeze. Coba endpoint API dengan token yang di‑generate untuk memastikan Sanctum berfungsi.


Dengan mengikuti langkah‑langkah di atas, Anda telah menyiapkan Laravel 11 lengkap dengan Vite, Breeze, dan Sanctum—kombinasi yang menjadi standar best practice modern pada 2026. Setup ini memberikan pengembangan frontend yang cepat, autentikasi API yang aman, serta fondasi yang siap untuk skala produksi menggunakan queue, cache, dan Octane.
Tutorial step-by-step setup Laravel 11 terbaru dengan Vite, Breeze, dan Sanctum. Ikuti panduan instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework terkini.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, dan menyiapkan lingkungan pengembangan yang optimal pada tahun 2026.

1. Prasyarat

Pastikan Anda memiliki:

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

2. Instalasi Laravel 11 dengan Composer

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

Perintah ini akan mengunduh versi stabil Laravel 11 yang dirilis pada 2026.

3. Mengaktifkan Vite (Asset Bundler Modern)

Laravel 11 sudah menyertakan laravel/vite-plugin secara default. Pastikan vite terinstall:

cd my-app
npm install

Jalankan server Vite untuk development:

npm run dev

4. Instalasi Breeze (Starter Kit dengan Inertia atau Livewire)

Kami gunakan Breeze dengan Blade & Vite:

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

Perintah di atas menyiapkan route auth, view Blade, dan konfigurasi Vite yang sudah terintegrasi.

5. Menambahkan Laravel Sanctum (API Authentication)

Sanctum memungkinkan token‑based atau SPA authentication.

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

Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke kernel.php di grup api:

\Illuminate\Http\Middleware\EnsureFrontendRequestsAreStateful::class,

6. Konfigurasi Environment

Ubah .env sesuai kebutuhan produksi atau development:

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

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

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost

7. Membuat API Resource dengan Sanctum

Contoh route API di routes/api.php:

use App\Http\Controllers\API\TaskController;

Route::middleware('auth:sanctum')->group(function () {
    Route::apiResource('tasks', TaskController::class);
});

Controller sederhana:

namespace App\Http\Controllers\API;
use App\Models\Task;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class TaskController extends Controller {
    public function index() { return Task::all(); }
    public function store(Request $request) { return Task::create($request->all()); }
    public function show(Task $task) { return $task; }
    public function update(Request $request, Task $task) { $task->update($request->all()); return $task; }
    public function destroy(Task $task) { $task->delete(); return response()->noContent(); }
}

8. Best Practice Modern

  • Environment Variables: Jangan pernah menyimpan secret di repo, gunakan .env.example sebagai template.
  • Cache Config & Routes: Pada produksi jalankan php artisan config:cache dan php artisan route:cache.
  • Database Migrations: Selalu versioning schema dengan migration, gunakan php artisan migrate:fresh --seed untuk refresh lokal.
  • Testing: Laravel 11 menambahkan Pest sebagai default; buat tes fitur dengan php artisan test.
  • Static Analysis: Install phpstan dan larastan untuk kualitas kode:
  • composer require --dev phpstan/phpstan
    composer require --dev nunomaduro/larastan

9. Deploy ke Production (Laravel Forge atau Vapor)

Setelah repository siap, push ke remote, kemudian pada server jalankan:

composer install --optimize-autoloader --no-dev
npm ci --production
php artisan migrate --force
php artisan view:cache
php artisan event:cache
php artisan config:cache
php artisan route:cache

Pastikan APP_ENV=production dan APP_DEBUG=false di .env server.


Dengan mengikuti langkah‑step di atas, Anda memiliki Laravel 11 yang terstruktur dengan Vite, Breeze, dan Sanctum. Setup ini mencerminkan best practice modern pada 2026, memudahkan pengembangan SPA atau API sekaligus menjaga keamanan dan performa produksi.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, 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 Tailwind)


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, Sanctum, serta Tailwind CSS sehingga proyek siap production dengan arsitektur modern.

1. Persyaratan Sistem

Pastikan server Anda memiliki:

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

2. Instalasi Laravel 11

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

Perintah di atas meng‑clone Laravel 11 ke folder blog.

3. Mengatur Vite (Frontend Build Tool)

Laravel 11 sudah menyertakan Vite secara default, cukup instal dependensi npm:

npm install
npm run dev

Periksa vite.config.js untuk memastikan laravel/vite-plugin terdaftar.

4. Menambahkan Breeze dengan Inertia & React (opsional)

Breeze menyediakan scaffolding otentikasi ringan. Pilih stack yang Anda inginkan, misalnya React + Inertia:

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

Setelah instalasi, jalankan kembali Vite:

npm run dev

Jika lebih suka Blade, jalankan php artisan breeze:install blade.

5. Mengonfigurasi Tailwind CSS

Breeze sudah men‑setup Tailwind, tapi pastikan file tailwind.config.js berisi:

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

Jalankan npm run build untuk menghasilkan file CSS produksi.

6. Instalasi Laravel Sanctum untuk API Token & SPA Authentication

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

Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke api group di app/Http/Kernel.php jika Anda menggunakan SPA:

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

Setelah itu, di config/sanctum.php pastikan stateful berisi domain front‑end Anda, misalnya ['localhost', '127.0.0.1'].

7. Membuat Route & Controller Otentikasi dengan Sanctum

// routes/api.php
use App\Http\Controllers\AuthController;
Route::post('/login', [AuthController::class, 'login']);
Route::post('/logout', [AuthController::class, 'logout'])->middleware('auth:sanctum');
// app/Http/Controllers/AuthController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Models\User;
use Laravel\Sanctum\PersonalAccessToken;

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

    public function logout(Request $request) {
        $request->user()->currentAccessToken()->delete();
        return response()->json(['message' => 'Logged out']);
    }
}

Endpoint ini siap dipanggil dari aplikasi React/Next.js atau Vue.

8. Best Practice Production Ready

  • Environment Variables: Simpan semua rahasia di .env dan gunakan config:cache.
  • Cache Config & Routes: php artisan config:cache & php artisan route:cache.
  • Optimized Autoloader: composer install --optimize-autoloader --no-dev.
  • HTTPS & CSP: Aktifkan SecureHeaders pakai package spatie/laravel-csp.
  • Queue & Jobs: Gunakan Redis driver untuk queue, jalankan php artisan queue:work --daemon.
  • Logging: Konfigurasi stack dengan channel stderr untuk container‑based deployment.

9. Deploy ke Laravel Vapor (Serverless) – Opsional

Jika Anda ingin serverless, instal Vapor CLI:

composer require laravel/vapor-cli --dev
vapor login
vapor init

Ikuti wizard, pilih region, dan deploy dengan vapor deploy production.

10. Verifikasi Instalasi

php artisan serve
# Buka http://127.0.0.1:8000 di browser
# Pastikan tampilan Breeze muncul dan API token dapat di‑generate via Postman.

Jika semua langkah berhasil, proyek Laravel 11 Anda sudah siap untuk pengembangan modern dan produksi.


Dengan mengikuti langkah‑langkah di atas, Anda telah menyiapkan proyek Laravel 11 yang mengadopsi praktik terbaik terkini: Vite untuk asset bundling, Breeze untuk scaffolding otentikasi, Tailwind CSS untuk UI responsif, dan Sanctum untuk keamanan API. Setup ini memberikan pondasi yang kuat, scalable, dan siap untuk deployment ke environment modern seperti Docker atau Laravel Vapor.
Tutorial step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, Tailwind dan best practice produksi untuk developer PHP 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 Tailwind CSS)


Tutorial step‑by‑step ini menjelaskan cara menginstal Laravel versi terbaru, mengkonfigurasi Vite, Breeze, Sanctum, dan Tailwind CSS secara optimal untuk proyek produksi di tahun 2026.

1. Prasyarat

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

2. Instalasi Laravel 11

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

Masuk ke direktori project:

cd my-app

2.1. Konfigurasi .env

Salin contoh dan sesuaikan koneksi database serta APP_KEY:

cp .env.example .env
php artisan key:generate

3. Integrasi Vite & Tailwind CSS

Laravel 11 telah menggunakan Vite secara default. Install dependensi front‑end:

npm install

Tambahkan 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: [],
};

Tambahkan directives di resources/css/app.css:

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

3.1. Compile Asset

npm run dev   // untuk development
npm run build // untuk production

4. Instalasi Laravel Breeze (Starter Kit)

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

Perintah di atas menginstal Breeze dengan stack Vue 3 + Vite. Pilihan lain: blade, react, atau react dapat dipilih sesuai kebutuhan.

4.1. Migrasi Auth

php artisan migrate

4.2. Jalankan kembali assets

npm install && npm run dev

5. Menambahkan Laravel Sanctum untuk API Authentication

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

5.1. Konfigurasi Guard

Tambahkan guard sanctum di config/auth.php:

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'api' => [
        'driver' => 'sanctum',
        'provider' => 'users',
        'hash' => false,
    ],
];

5.2. Middleware CSRF untuk SPA

Di app/Http/Kernel.php pastikan EnsureFrontendRequestsAreStateful::class berada pada grup api:

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

5.3. Contoh Endpoint API

use App\Models\User;
use Illuminate\Http\Request;
use Laravel\Sanctum\HasApiTokens;

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

6. Best Practice Modern

  • Environment Segregation: Gunakan file .env.production dan load via phpdotenv pada deployment.
  • Cache Config & Routes: php artisan config:cache & php artisan route:cache setelah deployment.
  • Static Asset Versioning: Vite sudah menambahkan hash ke nama file, pastikan mix-manifest.json atau vite-manifest.json di‑publish via CDN.
  • Database Migrations: Selalu gunakan --step untuk rollback terkontrol.
  • Testing: Implementasikan PHPUnit & Pest, contoh: php artisan test.
  • Code Style: Terapkan PHP CS Fixer & ESLint untuk konsistensi.

7. Deploy ke Production (Contoh dengan Laravel Vapor)

  1. Instal Vapor CLI: composer require laravel/vapor-cli
  2. Login: vapor login
  3. Buat environment: vapor env create production
  4. Deploy: vapor deploy production

Jika menggunakan server tradisional, pastikan directory storage dan bootstrap/cache writable, serta nginx config mengarahkan semua request ke public/index.php.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki fondasi Laravel 11 yang modern, cepat, dan aman. Kombinasi Vite, Breeze, Sanctum, dan Tailwind CSS memberikan workflow developer yang produktif, sementara best practice memastikan aplikasi siap skala di lingkungan produksi tahun 2026.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind CSS. Langkah demi langkah, konfigurasi, contoh kode, dan best practice modern untuk proyek 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Tutorial step‑by‑step ini membahas cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite untuk asset bundling, menambahkan Breeze untuk scaffolding auth, serta mengamankan API dengan Sanctum. Ikuti panduan praktis ini untuk memulai proyek Laravel yang modern, cepat, dan aman pada tahun 2026.

1. Persiapan Lingkungan

1.1. Persyaratan Sistem

  • PHP >= 8.2
  • Composer 2.x
  • Node.js >= 20 (untuk Vite)
  • Database MySQL atau Postgres

1.2. Instalasi Composer dan Node

Pastikan kedua paket sudah terinstall dan terkonfigurasi di PATH.

composer --version
node -v
npm -v

2. Membuat Project Laravel 11 Baru

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

Masuk ke folder project:

cd blog

3. Konfigurasi Vite (Asset Bundler Modern)

3.1. Instalasi Dependensi Front‑end

npm install
npm install --save-dev vite laravel-vite-plugin

3.2. Update 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. Sesuaikan Blade Layout

Ganti tag @vite di resources/views/layouts/app.blade.php:

<!-- resources/views/layouts/app.blade.php -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{ config('app.name', 'Laravel') }}</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])
</head>
<body>
    @yield('content')
</body>
</html>

3.4. Jalankan Development Server

npm run dev

Vite akan meng‑hot‑reload perubahan file JS/CSS secara otomatis.

4. Menambahkan Laravel Breeze untuk Authentication Scaffold

4.1. Instalasi Breeze

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

Opsional: gunakan react atau blade sesuai kebutuhan.

4.2. Install Front‑end Dependencies

npm install && npm run dev

4.3. Migrasi Database

php artisan migrate

Setelah ini, route /register dan /login sudah siap.

5. Mengamankan API dengan Laravel Sanctum

5.1. Instalasi Sanctum

composer require laravel/sanctum

5.2. Publish Config & Migrations

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

5.3. Tambahkan Middleware

Di app/Http/Kernel.php, tambahkan:

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

5.4. Membuat Token API

// routes/api.php
use App\Models\User;
use Illuminate\Http\Request;

Route::post('/login', function (Request $request) {
    $request->validate([
        'email' => 'required|email',
        'password' => 'required',
        'device_name' => '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($request->device_name)->plainTextToken;
    return response()->json(['token' => $token]);
});

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

5.5. Mengkonsumsi API di Front‑end (Vue contoh)

import axios from 'axios';

async function login(){
    const res = await axios.post('/api/login', {
        email: '[email protected]',
        password: 'secret',
        device_name: 'web'
    });
    axios.defaults.headers.common['Authorization'] = `Bearer ${res.data.token}`;
}

6. Best Practice Modern untuk Proyek Laravel 11

  • Environment Variables: Simpan semua kredensial di .env dan jangan pernah commit file tersebut.
  • Database Migrations & Seeders: Selalu gunakan migration untuk perubahan skema dan seeder untuk data dummy.
  • Service Container: Bind service‑provider khusus di app/Providers/AppServiceProvider.php untuk memudahkan testing.
  • Testing: Tuliskan unit test dengan PHPUnit dan feature test dengan Laravel Pest untuk memastikan integritas kode.
  • Cache & Queue: Aktifkan Redis sebagai driver cache dan queue di .env (CACHE_DRIVER=redis, QUEUE_CONNECTION=redis).
  • Code Style: Gunakan Laravel Pint (composer require laravel/pint --dev) untuk standar coding.
  • Deploy: Manfaatkan Laravel Octane (Swoole) pada production untuk performa tinggi, dan gunakan CI/CD pipeline (GitHub Actions) yang menjalankan php artisan migrate --force setelah deploy.

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang terstruktur, cepat berkat Vite, lengkap dengan authentication scaffold dari Breeze, serta API yang aman melalui Sanctum. Terapkan best practice modern seperti service container, testing, dan caching untuk memastikan aplikasi tetap scalable dan maintainable di 2026.
Tutorial step‑by‑step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, 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)


Pelajari cara menginstal Laravel 11 terbaru, mengonfigurasi Vite, Breeze, dan Sanctum secara step‑by‑step untuk proyek PHP Framework modern.

1. Persyaratan Sistem

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

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd my-app

3. Setup Frontend dengan Vite

Laravel 11 sudah menyertakan Vite secara default. Pastikan dependency terinstall:

npm install

Jalankan dev server:

npm run dev

Jika ingin produksi, build assets:

npm run build

4. Instalasi Laravel Breeze (Starter Kit)

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

Perintah di atas menginstall Breeze dengan stack Vue 3 + Vite. Untuk React atau Blade, ganti parameter.

npm install && npm run dev

5. Konfigurasi Sanctum untuk API Authentication

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

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

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

5.1. Membuat Token Personal Access

// contoh di controller
public function createToken(Request $request)
{
    $user = User::where('email', $request->email)->first();
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
}

6. .env Configuration

APP_NAME="Laravel"
APP_ENV=local
APP_KEY=base64:GENERATED_KEY
APP_DEBUG=true
APP_URL=http://localhost

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

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost

7. Contoh Penggunaan API dengan Sanctum

// routes/api.php
use AppHttpControllersApiAuthController;

Route::post('/login', [AuthController::class, 'login']);
Route::middleware('auth:sanctum')->group(function () {
    Route::get('/user', function (Request $request) {
        return $request->user();
    });
});

8. Best Practice

  • Gunakan php artisan config:cache & php artisan route:cache untuk produksi.
  • Simpan APP_KEY dan SANCTUM_STATEFUL_DOMAINS di environment yang aman.
  • Manfaatkan fitur lazy loading pada Eloquent untuk mengurangi query.
  • Selalu jalankan linting npm run lint dan php artisan test sebelum merge.

9. Deploy ke Server

  1. Upload seluruh kode ke server (Git, FTP, atau CI/CD).
  2. Jalankan composer install --no-dev --optimize-autoloader.
  3. Set environment production di .env (APP_ENV=production, APP_DEBUG=false).
  4. Build assets: npm ci && npm run build.
  5. Migrate database: php artisan migrate --force.
  6. Cache konfigurasi & route.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur dengan Vite, Breeze, dan Sanctum—kombinasi modern untuk pengembangan full‑stack aplikasi web yang cepat, aman, dan mudah dipelihara.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Ikuti langkah instalasi, konfigurasi, contoh kode, dan best practice untuk proyek PHP Framework modern.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Panduan step‑by‑step menginstal Laravel 11 terbaru dan mengkonfigurasi stack modern termasuk Vite, Breeze, Sanctum, serta TailwindCSS untuk pengembangan aplikasi web yang cepat dan aman.

1. Prasyarat

  • PHP >= 8.2
  • Composer terbaru
  • Node.js >= 20 & npm
  • Database MySQL/PostgreSQL

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd my-app

3. Setup Front‑End dengan Vite & TailwindCSS

Laravel 11 sudah menyertakan Vite. Install dependensi front‑end:

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

Configure 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;

Jalankan dev server:

npm run dev

4. Instalasi Laravel Breeze (starter kit)

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

Perintah di atas men‑setup autentikasi berbasis Vue 3 + Vite. Jika ingin React, gunakan react.

npm install && npm run dev

5. Menambahkan Laravel Sanctum untuk API Token

composer require laravel/sanctum

Publikasi konfigurasi & migrasi:

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

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

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

Gunakan trait HasApiTokens pada model User:

use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;
}

Contoh endpoint login API

Route::post('/api/login', function (Request $request) {
    $request->validate([
        'email' => 'required|email',
        'password' => 'required',
    ]);

    if (! Auth::attempt($request->only('email', 'password'))){
        return response()->json(['message' => 'Invalid credentials'], 401);
    }

    $token = $request->user()->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
});

6. Konfigurasi Environment

Pastikan variabel berikut ada di .env:

APP_NAME="Laravel"
APP_ENV=local
APP_KEY=base64:YOUR_APP_KEY
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. Menjalankan Aplikasi

php artisan serve
# di terminal terpisah
npm run dev

Akses http://localhost:8000 untuk melihat UI Breeze, dan gunakan /api/* untuk endpoint Sanctum.

8. Best Practice Modern

  • Version Control: Commit composer.lock dan package-lock.json untuk reproducible builds.
  • Environment Segregation: Simpan rahasia di .env dan gunakan .env.example untuk tim.
  • Static Analysis: Tambahkan phpstan atau psalm ke pipeline CI.
  • Testing: Buat feature test untuk autentikasi API dengan Sanctum.
    php artisan test --filter=LoginTest
  • Cache & Queue: Konfigurasikan Redis sebagai driver cache dan queue di .env untuk produksi.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap pakai, menggunakan stack modern Vite, TailwindCSS, Breeze, dan Sanctum. Kombinasi ini memberi performa front‑end cepat, autentikasi yang aman, serta fondasi yang mudah di‑scale untuk aplikasi web masa depan.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan TailwindCSS. Langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan PHP Framework terkini.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Tutorial step-by-step ini menjelaskan cara menginstal Laravel versi terbaru (Laravel 11, 2026) serta mengonfigurasi stack modern termasuk Vite, Breeze, Sanctum, dan Laravel Jetstream untuk aplikasi web yang aman, cepat, dan scalable.

1. Persyaratan Sistem

  • PHP >= 8.3
  • Composer 2.x
  • Node.js >= 20 & npm/yarn
  • Database MySQL/PostgreSQL/SQLite

2. Instalasi Laravel 11

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

Perintah di atas mengunduh Laravel 11 ke folder myapp dan menyiapkan struktur standar.

3. Konfigurasi Environment

cd myapp
cp .env.example .env
php artisan key:generate

Ubah .env sesuai database Anda:

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

4. Setup Frontend dengan Vite

Laravel 11 sudah mengganti Mix dengan Vite secara default. Pastikan Node dependencies terinstall:

npm install

Jalankan dev server:

npm run dev

Vite akan meng‑compile resources/js/app.js dan resources/css/app.css secara hot‑reload.

5. Instalasi Laravel Breeze (Starter Kit)

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

Perintah di atas menambahkan scaffolding autentikasi dengan Vue 3 + Vite. Jika ingin React, ganti vue dengan react.

npm install && npm run dev

6. Menambahkan Sanctum untuk API Token

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

Update 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 (Request $request) {
    return $request->user();
});

7. Membuat Token pada Model User

// App/Models/User.php
use Laravel\Sanctum\HasApiTokens;
class User extends Authenticatable {
    use HasApiTokens, Notifiable;
}

Generate token via tinker atau controller:

$token = $user->createToken('mobile-app')->plainTextToken;

8. Best Practice Configurasi

  • Cache Config & Routes:
    php artisan config:cache && php artisan route:cache
  • Env File Security: jangan commit .env ke VCS.
  • HTTPS & CSP: aktifkan ForceHttpsMiddleware dan set Content-Security-Policy di server.
  • Logging: gunakan channel stack dengan daily dan slack untuk error kritis.
  • Testing: tulis Feature Test dengan Pest atau PHPUnit untuk endpoint Sanctum.

9. Deploy ke Production

  1. Build assets: npm run build
  2. Optimasi autoloader: composer install --optimize-autoloader --no-dev
  3. Migrasi DB: php artisan migrate --force
  4. Cache konfigurasi: php artisan config:cache
  5. Set proper file permissions untuk storage dan bootstrap/cache.

Server yang direkomendasikan: Laravel Vapor, Forge, atau VPS dengan PHP-FPM + Nginx.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang terstruktur secara modern: Vite untuk asset bundling, Breeze sebagai starter kit UI, serta Sanctum untuk autentikasi API token‑based. Kombinasi ini memberikan performa tinggi, keamanan terjamin, dan fondasi yang mudah dikembangkan ke fitur‑fitur lanjutan seperti Livewire, Jetstream, atau micro‑services.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan aplikasi web cepat dan aman di tahun 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 lebih


Tutorial step‑by‑step ini membimbing Anda menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menerapkan best practice untuk pengembangan aplikasi web modern.

1. Prasyarat

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

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd my-app

Penjelasan

Perintah di atas mengunduh versi stabil Laravel 11 beserta dependensi utama.

3. Mengatur Vite (Laravel Mix digantikan)

# Install dependencies
npm install --save-dev vite laravel-vite-plugin

# Buat file vite.config.js
cat <<'EOF' > 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,
        }),
    ],
});
EOF

Penjelasan

Laravel Vite Plugin menyediakan hot‑module‑replacement (HMR) dan build production secara otomatis.

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

# Pilih stack Blade (default)
composer require laravel/breeze --dev
php artisan breeze:install blade

# Atau pilih Inertia + Vue 3
# composer require laravel/breeze --dev
# php artisan breeze:install vue

npm install && npm run dev

Setelah instalasi, jalankan migrasi database:

php artisan migrate

Penjelasan

Breeze menyediakan autentikasi dasar, registrasi, reset password, dan UI minimal yang sudah terintegrasi dengan Vite.

5. Menambahkan Sanctum untuk API Token Authentication

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

Konfigurasi middleware 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 (Request $request) {
    return $request->user();
});

Penjelasan

Sanctum memungkinkan token‑based atau session‑based authentication yang ringan, cocok untuk SPA atau mobile app.

6. Best Practice Modern

  • Environment Variables: Simpan rahasia di .env dan gunakan config:cache untuk produksi.
  • Docker Development: Jalankan Laravel dalam container untuk konsistensi lingkungan.
  • PHPStan & Laravel Pint: Tambahkan static analysis dan linting.
    composer require --dev phpstan/phpstan laravel/pint
  • Testing: Gunakan Pest atau PHPUnit, contoh:
    php artisan test
  • Deploy: Build assets dengan npm run build, jalankan php artisan migrate --force, dan aktifkan php artisan config:cache, php artisan route:cache, php artisan view:cache.

7. Verifikasi Instalasi

# Jalankan server lokal
php artisan serve

# Buka browser: http://localhost:8000
# Pastikan halaman welcome tampil dan autentikasi Breeze berfungsi.

# Cek Vite HMR
npm run dev
# Modifikasi resources/js/app.js, perubahan harus muncul otomatis.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap produksi, menggunakan Vite untuk asset modern, Breeze sebagai starter kit autentikasi, dan Sanctum untuk API security. Terapkan best practice seperti caching konfigurasi, static analysis, dan Docker untuk memastikan kode tetap maintainable dan scalable.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan best practice modern. Panduan step‑by‑step untuk developer PHP framework yang ingin membangun aplikasi web aman dan cepat.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Tutorial step‑by‑step ini menjelaskan cara menginstal Laravel 11 terbaru serta mengintegrasikan tool modern seperti Vite, Breeze, Laravel Sanctum, dan TailwindCSS untuk proyek PHP Framework yang aman dan cepat.

1. Prasyarat Sistem

Pastikan environment Anda memenuhi persyaratan berikut:

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

2. Instalasi Laravel 11

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

Perintah di atas meng‑download Laravel 11 stabil ke folder my-project dan masuk ke direktori proyek.

3. Konfigurasi Vite

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

npm install --save-dev vite laravel-vite-plugin

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

Menjalankan Vite

npm run dev   // untuk development
npm run build // untuk production

4. Install Laravel Breeze (Starter Kit)

Breeze menyediakan scaffolding autentikasi ringan dengan Blade atau Vue/React. Pada contoh ini gunakan Blade + Tailwind.

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

Setelah migration, Anda sudah memiliki route login, register, dan dashboard.

5. Integrasi TailwindCSS

Jika belum terinstal, jalankan:

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

Ubah tailwind.config.js:

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

Dan di resources/css/app.css tambahkan:

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

6. Setup Laravel Sanctum untuk API Authentication

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

Jika Anda menggunakan SPA (misalnya Vue) aktifkan middleware EnsureFrontendRequestsAreStateful di app/Http/Kernel.php pada grup api:

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

Contoh Endpoint Login API

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

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

Gunakan token ini di header Authorization: Bearer {token} untuk mengakses route yang dilindungi auth:sanctum.

7. Best Practice Modern

  • Environment Variables: Simpan rahasia (APP_KEY, DB_PASSWORD, SANCTUM_STATEFUL_DOMAINS) di .env dan jangan commit.
  • Cache Config & Routes: Pada produksi jalankan php artisan config:cache dan php artisan route:cache.
  • Database Migrations: Selalu gunakan php artisan migrate --force saat deploy CI/CD.
  • Code Quality: Integrasikan PHPStan atau Psalm, serta Laravel Pint untuk standar coding.
  • Testing: Tulis Feature Test untuk autentikasi Sanctum dan UI test untuk Breeze menggunakan Pest atau PHPUnit.

8. Deploy ke Production (Contoh Laravel Forge)

  1. Push repository ke GitHub.
  2. Buat site baru di Laravel Forge, pilih PHP 8.2, dan hubungkan repo.
  3. Set environment variables di Forge, jalankan composer install --optimize-autoloader --no-dev.
  4. Jalankan npm ci && npm run build pada server.
  5. Eksekusi php artisan migrate --force dan php artisan config:cache.

Setelah itu, situs siap diakses dengan performa Vite + Tailwind yang ter‑optimasi.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur, aman, dan siap dikembangkan dengan teknologi front‑end modern. Kombinasi Vite, Breeze, TailwindCSS, dan Sanctum memberikan workflow developer yang cepat serta keamanan API yang handal, menjadikan foundation ideal untuk aplikasi web skala kecil hingga enterprise.
Panduan step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan TailwindCSS. Ikuti tutorial terbaru 2026 untuk proyek Laravel modern yang aman dan optimal.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru dan mengkonfigurasi stack modern termasuk Vite, Breeze, Sanctum, serta tips best practice untuk pengembangan aplikasi web yang aman dan cepat.

1. Prasyarat

  • PHP 8.2+ (disarankan 8.3)
  • Composer 2.x
  • Node.js 20.x & npm 10.x
  • Database MySQL 8 atau PostgreSQL 15

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. Mengganti Mix dengan Vite (default di Laravel 11)

Laravel 11 sudah bundel Vite, cukup instal dependensi front‑end:

npm install
npm run dev

Gunakan npm run build untuk produksi.

4. Menambahkan Laravel Breeze (starter kit minimal)

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

Perintah di atas menghasilkan autentikasi berbasis Vue 3 + Vite. Jika ingin Blade, gunakan php artisan breeze:install blade.

5. Mengkonfigurasi Laravel Sanctum untuk API Token

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

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

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

Contoh penggunaan token

// Membuat token
$token = $user->createToken('mobile-app')->plainTextToken;

// Menggunakan di request API
Authorization: Bearer <token>

6. Mengaktifkan Email Verification (optional)

php artisan make:auth
# Pada Laravel 11 gunakan Breeze yang sudah support
php artisan breeze:install vue --with=verification

Jangan lupa set MAIL_ env di .env dan queue worker untuk mengirim email.

7. Mengoptimalkan Config & Cache

php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize

Jalankan ini sebelum deploy ke production.

8. Best Practice Modern

  • Gunakan Typed Properties pada model dan DTO untuk meningkatkan tipe safety.
  • Separate Service Layer di app/Services untuk business logic.
  • Form Request Validation alih-alih validator di controller.
  • Laravel Pint untuk coding style: composer require laravel/pint --dev.
  • Docker Development: gunakan laravel/sail untuk environment reproducible.
  • Health Checks dengan route /health yang mengembalikan status DB, cache, dan queue.

9. Deploy ke Server Production

  1. Upload kode via Git atau CI/CD.
  2. Set environment variables di .env.production.
  3. Jalankan migration & cache commands di server.
  4. Gunakan supervisor untuk queue worker dan PM2 atau systemd untuk php-fpm.

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang terstruktur dengan stack modern: Vite untuk asset bundling, Breeze sebagai starter kit, Sanctum untuk API token, serta serangkaian best practice yang siap menghadapi beban produksi. Terapkan CI/CD, monitoring, dan security hardening untuk menjaga kualitas aplikasi dalam jangka panjang.
Panduan step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web cepat, aman, dan scalable.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Temukan langkah‑langkah detail untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta mengoptimalkan proyek Anda dengan best practice terkini di tahun 2026.

1. Prasyarat

  • PHP ^8.2, ekstensi openssl, pdo, mbstring, tokenizer, xml
  • Composer 2.7 atau lebih baru
  • Node.js 20+ dan npm 10+
  • Database MySQL 8+ atau PostgreSQL 15+

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd project-name

3. Setup Frontend dengan Vite & TailwindCSS

Laravel 11 sudah menyertakan Vite secara default. Install dependensi UI:

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

Inisialisasi Tailwind:

npx tailwindcss init -p

Ubah 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;

Jalankan Vite dalam mode development:

npm run dev

4. Instalasi Laravel Breeze (Starter Kit)

Breeze memberikan autentikasi sederhana dengan Blade atau Inertia. Untuk proyek Blade:

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

Jika menginginkan Inertia + Vue 3:

php artisan breeze:install vue

Setelah instalasi, jalankan migrasi dan compile asset:

php artisan migrate
npm run dev

5. Menambahkan 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

Aktifkan middleware EnsureFrontendRequestsAreStateful pada app/Http/Kernel.php untuk SPA:

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

Tambahkan trait HasApiTokens pada model User:

use Laravel\Sanctum\HasApiTokens;

class User extends Authenticatable {
    use HasApiTokens, Notifiable;
}

6. Contoh Implementasi API Terproteksi

Route

use App\Http\Controllers\API\PostController;

Route::middleware('auth:sanctum')->group(function () {
    Route::apiResource('posts', PostController::class);
});

Controller

namespace App\Http\Controllers\API;

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

class PostController extends Controller {
    public function index(){
        return Post::where('user_id', auth()->id())->get();
    }
    public function store(Request $request){
        $data = $request->validate([
            'title' => 'required|string|max:255',
            'body'  => 'required|string',
        ]);
        $data['user_id'] = auth()->id();
        return Post::create($data);
    }
    // show, update, destroy …
}

Frontend (Vue 3) – Login & Token

import axios from 'axios';

export default {
  data(){ return {email:'', password:''}; },
  methods:{
    async login(){
      const {data} = await axios.post('/login', this.$data);
      axios.defaults.headers.common['X-XSRF-TOKEN'] = data.csrf_token; // Laravel sets cookie
      // Sanctum otomatis mengatur session cookie
    }
  }
}

7. Best Practice Modern

  • Environment Files: Simpan kunci API, DB credentials, dan APP_URL di .env dan gunakan config:cache.
  • Configuration Caching: php artisan config:cache untuk produksi.
  • Route Caching: php artisan route:cache (jangan cache jika menggunakan closures).
  • Queued Jobs & Events: Gunakan dispatch untuk proses berat, contoh email verifikasi.
  • Testing: PHPUnit & Pest untuk unit & feature test; contoh: php artisan test.
  • Docker: Siapkan container official PHP, MySQL, dan Nginx; gunakan docker compose up -d dalam tim.
  • Static Analysis: Integrasikan PHPStan (level max) & Laravel Pint untuk coding standard.

8. Deploy ke Production

# Pada server
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

Pastikan storage dan bootstrap/cache memiliki izin write.


Dengan mengikuti langkah‑step di atas, Anda akan memiliki proyek Laravel 11 yang terstruktur, aman, dan siap bersaing di 2026. Kombinasi Vite, Breeze, dan Sanctum memberikan fondasi modern untuk aplikasi web tradisional maupun SPA, sementara best practice seperti caching, testing, dan Docker memastikan kualitas dan kecepatan produksi.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, TailwindCSS, dan best practice modern untuk pengembangan web 2026.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Tutorial step-by-step ini membahas cara menginstal Laravel 11 terbaru dan mengkonfigurasi ekosistem modern seperti Vite, Breeze, Sanctum, serta best practice untuk pengembangan aplikasi web yang aman dan cepat.

1. Prasyarat

Pastikan server Anda sudah memenuhi persyaratan:

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

2. Instalasi Laravel 11

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

Masuk ke direktori proyek:

cd my-app

3. Mengganti Laravel Mix dengan Vite

Laravel 11 sudah menyertakan Vite secara default, tapi pastikan konfigurasi berikut ada:

# Install dependensi frontend
npm install
# Jalankan dev server
npm run dev

Jika Anda mengupgrade dari versi lama, jalankan:

composer require laravel/vite-plugin --dev
npm install vite laravel-vite-plugin

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

4. Menambahkan UI Starter Kit dengan Breeze

composer require laravel/breeze --dev
php artisan breeze:install vue
# atau inertia & react sesuai preferensi
npm install
npm run dev
php artisan migrate

Breeze menyediakan scaffolding authentication dengan Vue, TailwindCSS, dan Vite terintegrasi.

4.1. Struktur folder setelah install

  • resources/js/Pages – komponent Vue
  • resources/views – layout Blade
  • routes/web.php – route autentikasi

5. Mengamankan API dengan Laravel Sanctum

Sanctum memungkinkan token‑based authentication untuk SPA atau mobile.

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

5.1. Konfigurasi Middleware

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

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

5.2. Membuat Route API

// routes/api.php
use App\Http\Controllers\API\UserController;

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

5.3. Menghasilkan Token di Controller

public function login(Request $request)
{
    $credentials = $request->only('email', 'password');
    if (!Auth::attempt($credentials)) {
        return response()->json(['message' => 'Invalid credentials'], 401);
    }
    $user = $request->user();
    $token = $user->createToken('spa-token')->plainTextToken;
    return response()->json(['token' => $token]);
}

6. Best Practice Modern

  • Environment: Gunakan .env.example yang lengkap, jangan commit .env ke VCS.
  • Linting & Formatting: Tambahkan eslint, stylelint, dan phpstan untuk kode yang konsisten.
  • Testing: Buat tes unit dengan PestPHP atau PHPUnit, contoh:
    php artisan test
  • Cache Config: Jalankan php artisan config:cache & route:cache di produksi.
  • Queue: Siapkan driver Redis untuk job queue, contoh pada .env:
    QUEUE_CONNECTION=redis
  • Static Analysis: Gunakan phpstan dan psalm untuk deteksi bug dini.

7. Deploy ke Production (contoh dengan Laravel Forge)

  1. Buat site baru, pilih PHP 8.2, dan hubungkan repository Git.
  2. Setting .env production (APP_ENV=production, APP_DEBUG=false).
  3. Jalankan script deployment:
    composer install --optimize-autoloader --no-dev
    npm ci
    npm run build
    php artisan migrate --force
    php artisan optimize
    
  4. Enable queue workers & schedule via Supervisor.

8. Verifikasi Instalasi

Buka browser dan akses http://your-domain.test. Anda harus melihat halaman landing Breeze. Coba login, buat token via API, dan pastikan respons JSON berisi token.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap produksi, menggabungkan Vite untuk asset bundling, Breeze untuk UI modern, serta Sanctum untuk keamanan API. Terapkan best practice seperti caching, queue, dan static analysis untuk memastikan kode tetap scalable dan maintainable.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, serta best practice modern untuk pengembangan web cepat, aman, dan scalable.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, dan Livewire sehingga aplikasi Anda siap produksi dengan arsitektur modern.

1. Prasyarat

  • PHP 8.3 atau lebih tinggi
  • Composer 2.x
  • Node.js 20.x & npm 10.x
  • Database MySQL/PostgreSQL (opsional untuk contoh)

2. Instalasi Laravel 11

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

Masuk ke folder proyek:

cd laravel-modern

2.1. Verifikasi instalasi

php artisan --version

Output harus menampilkan Laravel Framework 11.x.x.

3. Setup Frontend dengan Vite

Laravel 11 sudah menggunakan Vite secara default, tetapi pastikan dependensi ter‑install.

npm install
npm run dev

Jika ingin menambahkan TailwindCSS:

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

Konfigurasi tailwind.config.js:

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

4. Instalasi Laravel Breeze (Starter Kit)

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

Perintah di atas menambahkan autentikasi berbasis Vue 3 + Vite. Jalankan migrasi:

php artisan migrate

Compile assets:

npm run dev

4.1. Menjalankan server

php artisan serve

Akses http://127.0.0.1:8000 – halaman login/register Breeze sudah tersedia.

5. Menambahkan Laravel Sanctum untuk API Token

composer require laravel/sanctum

Publikasikan konfigurasi dan migrasi:

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

Aktifkan middleware di app/Http/Kernel.php:

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

5.1. Contoh endpoint API

use App\Models\User;
use Laravel\Sanctum\HasApiTokens;

Route::post('/sanctum/token', function (Request $request) {
    $request->validate([
        'email' => 'required|email',
        'password' => 'required',
        'device_name' => '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($request->device_name)->plainTextToken;
    return response()->json(['token' => $token]);
});

6. Integrasi Livewire 3 (Realtime UI)

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

Livewire bekerja mulus dengan Vite. Tambahkan script di resources/js/app.js:

import { Livewire, Alpine } from './bootstrap';
window.Livewire = Livewire;
window.Alpine = Alpine;
Alpine.start();

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

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

<div style="text-align:center">
    <h1>Count: {{ $count }}</h1>
    <button wire:click="increment" class="px-4 py-2 bg-blue-600 text-white">Tambah</button>
</div>

Sisipkan di Blade mana saja:

<livewire:counter />

7. Best Practice Modern

  • Environment variables: Simpan kunci API, DB, dan Sanctum JWT di .env – jangan hard‑code.
  • Cache config & routes pada produksi: php artisan config:cache && php artisan route:cache
  • Optimized autoload: composer install --optimize-autoloader --no-dev
  • Docker (opsional): gunakan image resmi php:8.3-fpm dengan composer dan node untuk build CI/CD.
  • Testing: Laravel Pest atau PHPUnit – contoh test API token.

8. Deployment Ringkas

git clone https://github.com/username/laravel-modern.git
cd laravel-modern
composer install --no-dev --optimize-autoloader
npm ci && npm run build
php artisan migrate --force
php artisan config:cache
php artisan route:cache

Pastikan server web (NGINX/Apache) menunjuk ke public folder dan file .env dikonfigurasi dengan benar.


Dengan mengikuti langkah‑langkah di atas, Anda kini memiliki aplikasi Laravel 11 yang terstruktur dengan Vite, Breeze, Sanctum, dan Livewire. Kombinasi ini memberi fondasi clean code, autentikasi API modern, serta UI interaktif, siap untuk skala produksi dan tim pengembang modern.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Livewire. Panduan step-by-step, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web dengan Laravel, PHP Framework, Web Development.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...