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 Praktik Modern: Vite, Breeze, Sanctum, dan TailwindCSS


Ikuti tutorial step‑by‑step ini untuk menginstal Laravel 11 terbaru dan menerapkan stack modern termasuk Vite, Breeze, Sanctum, serta TailwindCSS—semua dengan best practice terkini di tahun 2026.

1. Persiapan Lingkungan

Pastikan sistem Anda sudah terinstall:

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

2. Instalasi Laravel 11

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

Masuk ke folder project:

cd my-app

3. Konfigurasi Vite (Asset Bundler)

Laravel 11 sudah menyertakan Vite secara default, namun kita akan menyesuaikannya:

  1. Instal dependensi frontend:
    npm install
  2. Tambahkan TailwindCSS dan autoprefixer:
    npm install -D tailwindcss@latest postcss@latest autoprefixer@latest
  3. Inisialisasi Tailwind:
    npx tailwindcss init -p
  4. Ubah tailwind.config.js:
    module.exports = {
      content: ["./resources/**/*.blade.php", "./resources/**/*.js", "./resources/**/*.vue"],
      theme: { extend: {} },
      plugins: [],
    };
  5. Update resources/css/app.css:
    @tailwind base;
    @tailwind components;
    @tailwind utilities;
  6. Jalankan dev server:
    npm run dev
    Vite akan melayani asset pada http://localhost:5173.

4. Instalasi Laravel Breeze (Starter Kit)

Breeze menyediakan otentikasi ringan dengan Blade atau Inertia. Kita gunakan Blade + Tailwind:

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

Setelah instalasi, jalankan migrasi:

php artisan migrate

Build ulang aset:

npm run dev

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

  1. Instal package:
    composer require laravel/sanctum
  2. Publish konfigurasi dan migration:
    php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
    php artisan migrate
  3. 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],
  4. Set konfigurasi CORS di config/cors.php agar origin front‑end (http://localhost:5173) diizinkan.
  5. Gunakan token personal atau SPA guard di controller. Contoh endpoint login API:
    use Illuminate\Http\Request;
    use App\Models\User;
    
    public function login(Request $request) {
        $data = $request->validate([
            'email' => 'required|email',
            'password' => 'required',
            'device_name' => 'required'
        ]);
        if (!Auth::attempt($request->only('email','password'))){
            return response()->json(['message'=>'Invalid credentials'],401);
        }
        $user = User::where('email',$request->email)->first();
        return $user->createToken($request->device_name)->plainTextToken;
    }
    

6. Struktur Direktori & Best Practice

  • Routes: Pisahkan web (routes/web.php) dan API (routes/api.php) dengan prefiks api dan gunakan controller resource.
  • Controllers: Gunakan php artisan make:controller --invokable untuk single‑action, dan Form Request untuk validasi.
  • Service Layer: Letakkan logika bisnis di app/Services agar controller tetap tipis.
  • Repositories: Implementasi pattern repository di app/Repositories bila aplikasi membutuhkan abstraksi data.
  • Testing: Laravel 11 menyediakan PHPUnit 11 & Pest. Buat tes unit di tests/Unit dan feature di tests/Feature.
  • Environment: Simpan variabel sensitif di .env dan gunakan config:cache di produksi.

7. Deploy ke Production

  1. Build aset:
    npm run build
  2. Optimasi Laravel:
    php artisan optimize:cache
    php artisan route:cache
    php artisan view:cache
  3. Set permissions pada storage & bootstrap/cache.
  4. Gunakan queue worker (Laravel Horizon atau Supervisor) untuk job background.

8. Debug & Monitoring

Pasang Laravel Telescope untuk development dan Laravel Octane jika butuh performa tinggi.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang modern, terstruktur, dan siap skala. Vite memastikan asset dibundel secara efisien, Breeze mempercepat scaffolding otentikasi, dan Sanctum memberikan solusi aman untuk SPA maupun API token. Terapkan best practice folder, service layer, dan testing untuk menjaga kualitas kode seiring pertumbuhan proyek.
Tutorial lengkap setup Laravel 11 di 2026 dengan Vite, Breeze, Sanctum, TailwindCSS, serta best practice modern untuk pengembangan web 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 Tailwind CSS)


Pelajari cara menginstal Laravel 11 terbaru dan mengkonfigurasi ekosistem modernnya secara step‑by‑step, termasuk Vite, Laravel Breeze, Laravel Sanctum, serta Tailwind CSS untuk UI yang responsif.

1. Prasyarat

  • PHP 8.2 atau lebih tinggi
  • Composer 2.x
  • Node.js 20+ dan npm
  • Database MySQL/PostgreSQL/SQLite

2. Instalasi Laravel 11

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

Pastikan php -v menampilkan versi 8.2+ dan composer -V menampilkan 2.x.

3. Setup Vite (Asset Bundler bawaan)

  1. Instal dependensi frontend:
npm install
npm run dev

Laravel 11 sudah mengkonfigurasi vite.config.js secara default. Untuk produksi gunakan npm run build.

4. Install Laravel Breeze (Starter Kit)

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

Opsional: gunakan blade atau react dengan mengganti argumen pada perintah di atas.

4.1. Migrasi Database

php artisan migrate

5. Konfigurasi Tailwind CSS

Tailwind sudah terpasang lewat Breeze. Pastikan file tailwind.config.js berisi:

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

6. Instal Laravel Sanctum (API Authentication)

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

Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api guard di config/sanctum.php jika Anda menggunakan SPA.

6.1. Konfigurasi Guard

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

6.2. Contoh Route API dengan Sanctum

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\UserController;

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

7. Best Practice Modern

  • Environment Variables: Simpan rahasia di .env dan jangan pernah commit.
  • Strict Types: Tambahkan declare(strict_types=1); di file PHP utama.
  • Service Container Binding: Gunakan binding di AppServiceProvider untuk dependensi khusus.
  • Route Caching pada produksi: php artisan route:cache.
  • Config Caching: php artisan config:cache.
  • Static Analysis: Jalankan phpstan atau psalm secara berkala.
  • Testing: Buat tes unit dan feature dengan php artisan test.

8. Deploy ke Production

  1. Setel APP_ENV=production dan APP_DEBUG=false di .env.
  2. Jalankan npm run build untuk aset produksi.
  3. Cache konfigurasi, route, dan view:
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
  4. Pastikan permission folder storage dan bootstrap/cache dapat ditulis oleh web server.

Setelah langkah-langkah di atas selesai, aplikasi Laravel 11 siap digunakan dengan stack modern yang scalable dan aman.


Dengan mengikuti tutorial ini, Anda mendapatkan proyek Laravel 11 yang terstruktur, menggunakan Vite untuk asset bundling, Breeze untuk scaffolding UI, Sanctum untuk otentikasi API, serta Tailwind CSS untuk styling responsif. Implementasi best practice modern memastikan kode bersih, performa optimal, dan siap produksi.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind CSS. Panduan lengkap mulai dari instalasi, konfigurasi, contoh kode, hingga best practice modern untuk pengembangan web dengan Laravel.

Laravel,PHP Framework,Web Development,Vite,Breeze,Sanctum,Tailwind CSS

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


Panduan lengkap step-by-step untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menerapkan Tailwind CSS secara optimal di tahun 2026.

1. Prasyarat

Software yang dibutuhkan

  • PHP >= 8.3
  • Composer 2.7+
  • Node.js 20.x LTS
  • Git

Database

  • MySQL 8.0 atau PostgreSQL 16

2. Instalasi Laravel 11

2.1 Buat project baru

composer create-project laravel/laravel:^11.0 myapp

Perintah ini mengunduh Laravel 11 stabil, menginisialisasi struktur folder, dan menginstall dependensi default.

2.2 Masuk ke folder project

cd myapp

3. Konfigurasi Vite (Asset Bundler Modern)

3.1 Install dependensi front‑end

npm install

Laravel 11 sudah menyertakan vite.config.js standar.

3.2 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 direktif Tailwind ke resources/css/app.css:

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

3.3 Build dan watch

npm run dev   // untuk development dengan hot‑reloading
npm run build // untuk produksi

4. Instalasi Laravel Breeze (Starter Kit)

4.1 Instalasi paket

composer require laravel/breeze --dev

4.2 Generate scaffold dengan Inertia + Vue 3 (pilihan modern)

php artisan breeze:install vue

Jika ingin Blade, gunakan php artisan breeze:install blade. Pada contoh ini kami pakai Vue 3.

4.3 Compile assets

npm install && npm run dev

5. Setup Laravel Sanctum (API Authentication)

5.1 Instalasi paket

composer require laravel/sanctum

5.2 Publish konfigurasi & migrasi

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

5.3 Tambahkan middleware ke api guard

Di app/Http/Kernel.php pastikan:

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

di dalam grup api (default Laravel 11 sudah menambahkannya).

5.4 Contoh penggunaan token

// 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

6.1 Struktur folder

  • Gunakan app/Models untuk entitas Eloquent.
  • Pindahkan service class ke app/Services.
  • Gunakan app/Actions untuk command‑style business logic.

6.2 Environment & Config

  • Simpan rahasia di .env dan gunakan config:cache pada deployment.
  • Gunakan APP_DEBUG=false di produksi.

6.3 Testing

  • Gunakan PHPUnit 11 + Pest untuk testing yang expressive.
  • Contoh test auth API:
/** @test */
public function it_can_authenticate_via_sanctum()
{
    $user = User::factory()->create(['password' => bcrypt('secret')]);
    $response = $this->postJson('/api/login', ['email' => $user->email, 'password' => 'secret']);
    $response->assertOk()->assertJsonStructure(['token']);
}

6.4 Deployment

  • Gunakan php artisan config:cache, php artisan route:cache, php artisan view:cache.
  • Jalankan npm run build --production untuk aset statis.
  • Setel APP_URL dan SESSION_SECURE_COOKIE=true di server HTTPS.

Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki aplikasi Laravel 11 yang modern, ringan, dan siap produksi. Kombinasi Vite, Breeze (Vue), Sanctum, dan Tailwind CSS memberikan fondasi yang scalable, sambil tetap memanfaatkan best practice terbaru pada ekosistem Laravel 2026.
Panduan lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Tailwind CSS. Tutorial step-by-step 2026 untuk developer PHP Framework modern.

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, mengoptimalkan front‑end dengan Vite, menyiapkan starter kit Breeze, dan mengamankan API menggunakan Sanctum.

1. Persyaratan Sistem

Pastikan server Anda memenuhi persyaratan minimum Laravel 11:

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

2. Instalasi Laravel 11

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

Masuk ke folder projek:

cd example-app

3. Konfigurasi Environment

Copy file .env.example menjadi .env dan sesuaikan koneksi database:

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

Edit .env:

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

4. Instalasi Vite (Front‑end Build Tool)

Laravel 11 sudah menyertakan Vite secara default. Pastikan dependency ter‑install:

npm install

Jalankan development server:

npm run dev

Jika ingin produksi:

npm run build

5. Instalasi Laravel Breeze (Starter Kit)

Breeze menyediakan autentikasi UI ringan dengan Blade atau API‑first (React/Vue). Kita gunakan Blade untuk contoh:

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

Setelah migrasi, Anda dapat mengakses /register dan /login.

6. Menambahkan Laravel Sanctum untuk API Authentication

composer require laravel/sanctum

Publikasikan konfigurasi & migrasi:

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

Tambahkan middleware Sanctum::ensureFrontendRequestsAreStateful() di api middleware group (app/Http/Kernel.php) jika Anda akan mengakses API dari SPA yang sama domain.

Contoh route API yang dilindungi:

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

7. Membuat Endpoint Login API dengan Sanctum

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

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

Gunakan header Authorization: Bearer <token> untuk mengakses route yang dilindungi.

8. Best Practice Modern

  • Environment Segregation: Gunakan file .env.testing untuk test suite dan CI.
  • Docker: Jalankan stack dengan docker compose (Laravel Sail) untuk konsistensi lintas tim.
  • Static Analysis: Pasang phpstan dan larastan untuk type‑checking.
  • Code Formatting: Gunakan pint (Laravel Pint) untuk standar coding.
  • Cache Config & Routes: Pada produksi jalankan php artisan config:cache dan php artisan route:cache.
  • Testing: Tulis Feature Test menggunakan Pest atau PHPUnit untuk endpoint Sanctum.

9. Deploy ke Production

  1. Set environment variables pada server (APP_ENV=production, APP_DEBUG=false).
  2. Jalankan composer install --optimize-autoloader --no-dev.
  3. Build assets: npm ci && npm run build.
  4. Migrasi database: php artisan migrate --force.
  5. Cache konfigurasi & route.
  6. Restart queue workers jika ada.

10. Verifikasi

Buka https://your-domain.test, daftar user, kemudian gunakan Postman atau Insomnia untuk meng‑request /api/login dan akses /api/user dengan token yang diterima.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 yang siap produksi, menggunakan Vite untuk front‑end modern, Breeze sebagai starter kit autentikasi, serta Sanctum untuk melindungi API. Kombinasi ini mencerminkan best practice Laravel 2026, memberikan performa optimal, keamanan robust, dan pengembangan yang cepat.
Tutorial lengkap setup Laravel 11 terbaru dengan Vite, Breeze, dan Sanctum. Langkah demi langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web PHP Framework.

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, mengonfigurasi Vite, menambahkan Breeze, mengamankan API dengan Sanctum, serta tips best practice 2026.

1. Persiapan Lingkungan

Prerequisite

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

Instalasi Laravel

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

Buka folder project dan jalankan cd blog.

2. Konfigurasi Vite (Frontend Build Tool)

Instalasi Dependensi

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

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

Update Blade Layout

Di resources/views/layouts/app.blade.php ganti tag script/style lama dengan helper Vite:

<!-- Vite Assets -->
@vite(['resources/css/app.css', 'resources/js/app.js'])

3. Menambahkan Laravel Breeze (Starter Kit)

Instalasi Breeze

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

Jika ingin React gunakan react alih‑alih vue.

Compile Assets

npm install && npm run dev

Migrasi Database

php artisan migrate

4. Mengamankan API dengan Laravel Sanctum

Instalasi Sanctum

composer require laravel/sanctum

Publish Config & Migration

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

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,
],

Contoh Endpoint Login

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

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

5. Best Practice Modern (2026)

  • Environment Variables: Simpan semua rahasia di .env dan gunakan config:cache setelah perubahan.
  • Typed Routes: Gunakan php artisan route:cache di production.
  • PHPStan & Larastan: Tambahkan static analysis untuk menjaga kualitas kode.
    composer require --dev phpstan/phpstan larastan/larastan
  • Docker Development: Deploy stack dengan docker-compose.yml yang menyertakan php, mysql, redis, dan horizon.
  • Testing: Gunakan PestPHP untuk test yang lebih ekspresif.
    composer require --dev pestphp/pest pestphp/pest-plugin-laravel

Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap dikembangkan secara modern, scalable, dan aman.


Laravel 11 memberikan fondasi yang kuat dengan Vite, Breeze, dan Sanctum. Mengikuti best practice 2026 seperti caching konfigurasi, static analysis, dan container‑based development memastikan aplikasi Anda tetap performant, aman, dan mudah dipelihara.
Tutorial step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum dan best practice modern tahun 2026. Panduan instalasi, konfigurasi, contoh kode, dan tips keamanan.

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 ini mengajarkan cara menginstal Laravel 11 terbaru, mengintegrasikan Vite, Breeze, dan Laravel Sanctum untuk autentikasi API‑first, serta menerapkan best practice produksi di tahun 2026.

1. Prerequisite & Lingkungan

Pastikan Anda memiliki:

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

2. Instalasi Laravel 11

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

Perintah di atas mendownload Laravel 11 stable beserta semua dependensi. Gunakan --prefer-dist bila ingin mengurangi waktu download.

3. Konfigurasi Environment

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

Ubah variabel DB_* sesuai database Anda, contoh:

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

4. Setup Front‑End dengan Vite (Laravel Mix sudah deprecated)

  1. Instalasi dependensi:
npm install --save-dev vite laravel-vite-plugin
npm install vue@next # atau react, svelte sesuai kebutuhan
  1. 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,
        }),
    ],
});
  1. Modifikasi resources/js/app.js (contoh Vue 3):
import { createApp } from 'vue';
import App from './components/App.vue';

createApp(App).mount('#app');

Jalankan development server:

npm run dev

5. Instalasi Laravel Breeze (Starter Kit)

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

Breeze menyediakan route, controller, dan view dasar untuk registrasi, login, dan reset password.

6. Menambahkan Laravel Sanctum untuk API Authentication

  1. Instalasi paket:
composer require laravel/sanctum
  1. Publish konfigurasi & migration:
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
  1. Aktifkan middleware di app/Http/Kernel.php:
'api' => [
    \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
    'throttle:api',
    Illuminate\Routing\Middleware\SubstituteBindings::class,
],
  1. Contoh route API menggunakan token:
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

Route::post('/register', function (Request $request) {
    $user = User::create([
        'name' => $request->name,
        'email' => $request->email,
        'password' => Hash::make($request->password),
    ]);
    $token = $user->createToken('api-token')->plainTextToken;
    return response()->json(['token' => $token]);
});

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

7. Best Practice Production Ready

  • Cache config & routes:
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache
  • Optimized autoload:
    composer install --optimize-autoloader --no-dev
  • Enable HTTPS & HSTS di web server (nginx/Apache) dan set APP_URL dengan https.
  • Queue workers untuk email atau job berat:
    php artisan queue:work --daemon
  • Log rotation dengan daily channel di config/logging.php.
  • Database backups otomatis via schedule:
  • php artisan schedule:run

8. Verifikasi Instalasi

  1. Jalankan server lokal:
php artisan serve
  • Buka http://localhost:8000 – Anda harus melihat halaman welcome Breeze.
  • Gunakan Postman atau Insomnia untuk POST /api/register dan dapatkan token, lalu GET /api/user dengan header Authorization: Bearer {token}.
  • 9. Deployment ke Vercel/Forge/DigitalOcean

    • Set APP_ENV=production, APP_DEBUG=false.
    • Pastikan php artisan storage:link sudah dijalankan.
    • Gunakan git push production main atau pipeline CI/CD yang menjalankan composer install, npm ci, dan perintah cache di atas.

    Dengan mengikuti langkah‑langkah ini, Anda memiliki aplikasi Laravel 11 modern, siap untuk skala, dan terproteksi lewat Sanctum.


    Laravel 11 bersama Vite, Breeze, dan Sanctum memberikan fondasi yang kuat, cepat, dan aman untuk pengembangan aplikasi web modern di 2026. Terapkan best practice produksi untuk memastikan performa optimal dan keamanan jangka panjang.
    Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Langkah‑step instalasi, konfigurasi, contoh kode, dan best practice produksi untuk pengembangan web modern.

    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, mengkonfigurasi Vite, Breeze, Sanctum, serta menerapkan best practice yang cocok untuk proyek produksi di tahun 2026.

    1. Persiapan Lingkungan

    Instalasi Prasyarat

    Pastikan Anda memiliki:

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

    Verifikasi Versi

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

    2. Membuat Project Laravel 11

    Instalasi via Composer

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

    Masuk ke folder project:

    cd blog

    Inisialisasi Git (opsional tapi direkomendasikan)

    git init
    git add .
    git commit -m "Initial Laravel 11 setup"

    3. Mengonfigurasi Vite (Asset Bundler Modern)

    Instalasi dependensi

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

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

    Modifikasi resources/js/app.js

    import './bootstrap';
    import '../css/app.css';
    
    // Contoh penggunaan Alpine.js (opsional)
    import Alpine from 'alpinejs';
    window.Alpine = Alpine;
    Alpine.start();

    Jalankan dev server

    npm run dev

    Vite akan menjalankan hot‑module replacement (HMR) pada http://localhost:5173.

    4. Menambahkan Laravel Breeze (Starter Kit Auth)

    Instalasi Breeze

    composer require laravel/breeze --dev
    php artisan breeze:install vue
    # atau gunakan blade: php artisan breeze:install

    Instalasi NPM dependencies untuk Breeze

    npm install && npm run dev

    Migrasi database

    php artisan migrate

    Setelah ini, fitur login, register, dan reset password siap pakai.

    5. Mengamankan API dengan Laravel Sanctum

    Instalasi Sanctum

    composer require laravel/sanctum

    Publish konfigurasi & migrasi

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

    Konfigurasi config/sanctum.php

    Pastikan stateful berisi domain front‑end Anda (contoh: localhost, myapp.test).

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

    Tambahkan Middleware ke api guard

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

    Contoh Route API yang Dilindungi

    use App\Http\Controllers\API\PostController;
    
    Route::middleware('auth:sanctum')->group(function () {
        Route::apiResource('posts', PostController::class);
    });

    Contoh Request Token dengan Axios (Vue)

    import axios from 'axios';
    
    axios.get('/sanctum/csrf-cookie').then(() => {
        axios.post('/login', {email, password})
            .then(response => {
                // token otomatis tersimpan sebagai cookie
            });
    });

    6. Best Practice Modern (2026)

    • Environment Files: Simpan semua variabel sensitif di .env dan gunakan .env.example untuk tim.
    • Docker: Gunakan Laravel Sail atau Docker Compose untuk konsistensi lingkungan dev.
    • Testing: Tuliskan unit & feature test dengan PestPHP (atau PHPUnit). Contoh:
      php artisan test --filter=UserCanLoginTest
    • Static Analysis: Integrasikan phpstan dan larastan untuk kode bebas error.
    • Code Formatting: Gunakan Laravel Pint (vendor/bin/pint) sebelum commit.
    • Cache Config & Routes pada production:
      php artisan config:cache
      php artisan route:cache
      php artisan view:cache
    • Queue & Jobs: Aktifkan Redis sebagai driver queue, gunakan horizon untuk monitoring.

    7. Deploy ke Production

    Langkah Umum

    1. Upload source code ke server (Git, FTP, atau CI/CD).
    2. Install dependencies:
      composer install --optimize-autoloader --no-dev
      npm ci && npm run build
    3. Set environment variables di .env server.
    4. Migrasi dan seeding database:
      php artisan migrate --force
      php artisan db:seed --force
    5. Cache konfigurasi & route (lihat best practice).
    6. Restart queue workers & horizon jika digunakan.

    Pastikan web server (NGINX/Apache) mengarahkan semua request ke public/index.php dan mengaktifkan HTTPS.


    Dengan mengikuti langkah‑langkah di atas, Anda berhasil menyiapkan proyek Laravel 11 modern yang terintegrasi dengan Vite, Breeze, dan Sanctum. Kombinasi ini memberikan developer pengalaman pengembangan cepat, keamanan API yang solid, serta fondasi yang siap untuk skala produksi di tahun 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

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


    Panduan step‑by‑step untuk menginstal Laravel 11 terbaru, mengonfigurasi Vite, menambahkan Breeze, mengamankan API dengan Sanctum, serta mengoptimalkan front‑end menggunakan Tailwind CSS.

    1. Prasyarat

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

    2. Instalasi Laravel 11

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

    Masuk ke folder proyek:

    cd contoh-app

    2.1. Inisialisasi Git (opsional)

    git init && git add . && git commit -m "Initial commit - Laravel 11"

    3. Konfigurasi Vite

    Laravel 11 sudah menyertakan Vite sebagai bundler default. 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,
            }),
        ],
    });
    

    Instal dependensi front‑end:

    npm install && npm run dev

    4. Menambahkan Laravel Breeze (Starter Kit)

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

    Breeze menyediakan scaffold autentikasi berbasis Vue 3 + Vite. Jika ingin React, gunakan --react.

    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 ke api middleware group di app/Http/Kernel.php:

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

    Contoh route API yang dilindungi:

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

    5.1. Front‑end: Menggunakan token

    import axios from 'axios';
    axios.defaults.withCredentials = true;
    axios.get('/sanctum/csrf-cookie').then(() => {
        axios.post('/login', {email, password}).then(response => {
            // token otomatis tersimpan cookie
        });
    });

    6. Integrasi Tailwind CSS

    Tailwind sudah terpasang via Breeze, tapi pastikan konfigurasi tailwind.config.js mencakup semua file Blade/Vue:

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

    7. Best Practice Modern

    • Environment variables: gunakan .env.example untuk semua kunci API, jangan hard‑code.
    • Cache config & route: jalankan php artisan config:cache dan php artisan route:cache pada production.
    • Optimasi autoload: composer install --optimize-autoloader --no-dev.
    • Queue & Jobs: aktifkan queue driver (Redis) untuk email dan pekerjaan latar belakang.
    • Testing: gunakan Pest atau PHPUnit, contoh: php artisan test.
    • Static analysis: tambahkan phpstan atau psalm untuk kode yang lebih aman.

    8. Deploy ke Production (contoh di Laravel Forge)

    1. Push repository ke GitHub.
    2. Hubungkan repo di Forge, pilih PHP 8.3 & Nginx.
    3. Set environment variables di .env pada server.
    4. Jalankan deployment script:
    5. cd /home/forge/contoh-app
      composer install --no-dev --optimize-autoloader
      npm ci && npm run build
      php artisan migrate --force
      php artisan config:cache
      php artisan route:cache
      php artisan view:cache

    Setelah itu, aplikasi siap diakses dengan performa optimal.


    Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang modern, cepat, dan aman. Vite menyediakan build front‑end yang ringan, Breeze mempercepat scaffolding autentikasi, Sanctum melindungi API, dan Tailwind memastikan UI responsif. Terapkan best practice seperti caching, queue, dan static analysis untuk menjaga kualitas kode di lingkungan produksi.
    Panduan step‑by‑step setup Laravel 11 dengan Vite, Breeze, Sanctum, Tailwind, serta best practice modern untuk pengembangan web PHP Framework terdepan 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 langkah demi langkah tutorial ini untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta praktik terbaik yang memaksimalkan performa dan keamanan aplikasi PHP Framework modern.

    1. Persiapan Lingkungan

    Pastikan server memiliki PHP 8.3+, Composer, Node.js 20+ dan Git. Cek versi dengan:

    php -v
    composer -V
    node -v
    git --version

    2. Instalasi Laravel 11

    Gunakan Composer untuk membuat project baru:

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

    Masuk ke direktori project:

    cd blog

    3. Konfigurasi Vite (Asset Bundler Modern)

    Laravel 11 sudah menyertakan Vite secara default. Pastikan file vite.config.js ada. Jika belum, install:

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

    Tambahkan skrip npm:

    npm install
    npm run dev

    Untuk produksi:

    npm run build

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

    Pilih Blade untuk kemudahan:

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

    Jika ingin React atau Vue, gunakan --react atau --vue. Jalankan migrasi dan npm:

    php artisan migrate
    npm install && npm run dev

    5. Mengintegrasikan 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 pada api middleware group di app/Http/Kernel.php untuk SPA:

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

    Gunakan token di controller:

    use Laravel\Sanctum\HasApiTokens;
    
    public function login(Request $request) {
        $user = Auth::attempt($request->only('email','password'));
        if ($user) {
            return $request->user()->createToken('api-token')->plainTextToken;
        }
        return response()->json(['message'=>'Unauthorised'],401);
    }

    6. Setup Database & Environment

    Copy file .env.example ke .env dan atur koneksi database:

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

    Generate key aplikasi:

    php artisan key:generate

    7. Konfigurasi Cache, Queue, & Optimasi

    • Cache: gunakan driver redis untuk produksi. Tambahkan CACHE_DRIVER=redis di .env.
    • Queue: pilih redis atau database. Jalankan php artisan queue:work di supervisor.
    • Optimasi konfigurasi: php artisan config:cache, php artisan route:cache, php artisan view:cache.

    8. Implementasi Best Practice

    • Environment Segregation: gunakan file .env.production dan .env.testing dengan dotenv loader.
    • Version Control: commit composer.lock dan package-lock.json. Tambahkan vendor/ dan node_modules/ ke .gitignore.
    • Code Style: install phpstan dan larastan untuk static analysis, serta eslint untuk JavaScript.
    • Testing: gunakan php artisan test dengan PHPUnit dan Pest. Contoh test authentication:
    /** @test */
    public function user_can_login()
    {
        $user = User::factory()->create(['password'=>bcrypt('secret')]);
        $response = $this->postJson('/api/login', ['email'=>$user->email,'password'=>'secret']);
        $response->assertOk()->assertJsonStructure(['token']);
    }

    9. Deploy ke Production (Laravel Octane + Docker)

    Untuk performa tinggi, gunakan Laravel Octane dengan Swoole atau RoadRunner:

    composer require laravel/octane
    php artisan octane:install --server=swoole
    php artisan octane:start --workers=8

    Contoh Dockerfile:

    FROM php:8.3-fpm
    WORKDIR /var/www
    RUN apt-get update && apt-get install -y libzip-dev zip unzip git && \
        docker-php-ext-install pdo_mysql zip && \
        pecl install swoole && docker-php-ext-enable swoole
    COPY . .
    RUN composer install --optimize-autoloader --no-dev
    RUN npm ci && npm run build
    EXPOSE 8000
    CMD ["php","artisan","octane:start","--host=0.0.0.0","--port=8000"]

    10. Verifikasi & Monitoring

    Gunakan Laravel Telescope untuk debugging dan Laravel Horizon untuk queue monitoring:

    composer require laravel/telescope --dev
    php artisan telescope:install
    php artisan migrate
    
    composer require laravel/horizon
    php artisan horizon

    Setelah semua langkah selesai, aplikasi siap diakses di http://localhost:8000 (atau domain produksi).


    Dengan mengikuti tutorial ini Anda kini memiliki proyek Laravel 11 yang terstruktur, aman, dan optimal menggunakan Vite, Breeze, Sanctum, serta praktik terbaik modern. Kombinasi Laravel Octane, Docker, dan tool monitoring seperti Telescope menjadikan aplikasi siap untuk skala produksi di dunia Web Development berbasis PHP Framework terkini.
    Panduan step-by-step setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, Docker, dan best practice modern untuk pengembangan aplikasi 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 TailwindCSS)


    Tutorial step-by-step ini menjelaskan cara menginstal Laravel 11, mengkonfigurasi Vite, Breeze, Sanctum, serta mengoptimalkan proyek dengan TailwindCSS untuk pengembangan aplikasi web modern.

    1. Persyaratan Sistem

    Pastikan Anda memiliki:

    • PHP >= 8.2
    • Composer terbaru
    • Node.js >= 18 (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

    2.1. Menginisialisasi Git (opsional)

    git init && git add . && git commit -m "Initial commit - Laravel 11"

    3. Setup Vite dan TailwindCSS

    Laravel 11 sudah menyertakan Vite sebagai bundler default. Install dependensi frontend:

    npm install

    3.1. Instal 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: [],
    };

    Update resources/css/app.css:

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

    Jalankan Vite untuk development:

    npm run dev

    4. Instalasi Laravel Breeze (Starter Kit)

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

    Jika Anda ingin menggunakan Inertia atau React, ganti blade dengan react atau vue.

    Install dependensi frontend yang dibutuhkan oleh Breeze:

    npm install && npm run dev

    5. Konfigurasi 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,
    ],

    Contoh route API menggunakan token:

    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. Environment & Konfigurasi Dasar

    Copy file .env.example menjadi .env dan generate key:

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

    Sesuaikan database pada .env:

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

    Lakukan migrasi:

    php artisan migrate

    7. Best Practice Modern

    • Environment Segregation: Gunakan file .env.testing untuk testing otomatis.
    • Feature Flags: Manfaatkan package spatie/laravel-feature-flags untuk kontrol fitur.
    • Code Quality: Integrasikan PHPStan dan Laravel Pint dalam CI/CD.
    • Docker: Buat container resmi Laravel dengan docker-compose.yml untuk konsistensi tim.
    • Static Asset Versioning: Vite menambahkan hash otomatis, pastikan mix-manifest.json tidak di‑cache secara berlebihan.

    8. Deploy ke Production

    1. Build assets: npm run build
    2. Set APP_ENV=production dan APP_DEBUG=false di server.
    3. Cache konfigurasi & route: php artisan config:cache && php artisan route:cache
    4. Optimalkan autoloader: composer install --optimize-autoloader --no-dev
    5. Jalankan queue worker (jika diperlukan) dengan supervisor atau systemd.

    9. Testing Awal

    php artisan test

    Pastikan semua fitur authentication dan UI Breeze berfungsi.


    Dengan mengikuti langkah‑langkah di atas, Anda akan memiliki proyek Laravel 11 yang modern, cepat, dan siap untuk pengembangan skala besar. Penggunaan Vite, Breeze, Sanctum, dan TailwindCSS memberi fondasi UI yang responsif, sementara best practice seperti Docker, feature flags, dan CI/CD memastikan kode tetap bersih dan dapat dipelihara.
    Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan TailwindCSS. Panduan step-by-step, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web dengan Laravel.

    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 untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, menambahkan Breeze sebagai starter kit, mengamankan API dengan Sanctum, serta mengoptimalkan pengembangan menggunakan best practice terkini.

    1. Persiapan Lingkungan

    Pastikan sistem Anda memiliki:

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

    1.1 Install Composer & Node

    sudo apt-get update
    sudo apt-get install -y php php-cli php-mbstring php-xml php-bcmath php-json php-curl php-zip curl
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
    curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    sudo apt-get install -y nodejs

    2. Membuat Project Laravel 11

    composer create-project laravel/laravel:^11.0 laravel-modern-app
    cd laravel-modern-app

    2.1 Verifikasi Instalasi

    php artisan --version   # Laravel Framework 11.x
    npm --version           # pastikan Node 20.x

    3. Mengintegrasikan Vite (Asset Bundler Bawaan)

    Laravel 11 sudah menyertakan Vite secara default. Pastikan file vite.config.js ada dan package.json berisi skrip berikut:

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

    3.1 Install Dependensi Frontend

    npm install
    npm run dev   # Jalankan dev server Vite

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

    4.1 Instalasi Breeze Blade

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

    Jika ingin React + Inertia, gunakan:

    php artisan breeze:install vue   # atau react
    npm run dev

    4.2 Migrasi Database

    php artisan migrate

    Setelah itu, buka http://localhost:8000 dan verifikasi halaman autentikasi.

    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 pada app/Http/Kernel.php:

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

    5.3 Membuat Route API yang Dilindungi

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

    5.4 Contoh Request Token dengan Axios

    import axios from 'axios';
    axios.get('/sanctum/csrf-cookie').then(() => {
      axios.post('/login', {email, password}).then(res => {
        // token tersimpan otomatis via cookie
        axios.get('/api/user').then(userRes => console.log(userRes.data));
      });
    });

    6. Best Practice Modern

    • Environment Segregation: gunakan .env.testing untuk CI/CD.
    • Docker Development: jalankan layanan dengan docker compose up -d (php, mysql, redis, mailhog).
    • Static Analysis: tambahkan phpstan dan larastan untuk tipe safety.
      composer require --dev phpstan/phpstan nunomaduro/larastan
      vendor/bin/phpstan analyse
    • Cache Config & Routes: jalankan php artisan config:cache & php artisan route:cache sebelum deploy.
    • CI/CD Pipeline: gunakan GitHub Actions dengan matrix PHP 8.2 dan Node 20, termasuk steps lint, test, dan build Vite.

    7. Deploy ke Production (Laravel Forge / Vapor)

    1. Push repository ke git remote.
    2. Di Forge, pilih PHP 8.2, buat site, sambungkan repo.
    3. Set environment variables (APP_KEY, DB_*, SANCTUM_STATEFUL_DOMAINS).
    4. Run deployment script:
      cd /home/forge/your-domain.com
      git pull origin main
      composer install --no-interaction --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

    Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang sepenuhnya modern: Vite untuk asset bundling, Breeze sebagai starter kit, Sanctum untuk API security, serta serangkaian best practice yang siap produksi. Kombinasi ini memberikan fondasi yang scalable, maintainable, dan aman bagi aplikasi web berbasis PHP Framework Laravel.
    Tutorial lengkap 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

    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 menggunakan Vite, Breeze, Sanctum, serta best practice keamanan dan struktur proyek.

    1. Persiapan Lingkungan

    Instalasi Composer & PHP

    • Pastikan PHP >= 8.2 terinstall.
    • Install Composer terbaru: php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && php composer-setup.php --install-dir=/usr/local/bin --filename=composer

    Instalasi Node.js & npm

    • Gunakan Node 20 LTS: nvm install 20 && nvm use 20
    • Pastikan npm berada pada versi 10.x.

    2. Membuat Proyek Laravel 11

    Instalasi Laravel Installer (opsional)

    composer global require laravel/installer

    Membuat proyek baru

    laravel new blog --jetstream

    atau tanpa installer:

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

    3. Mengaktifkan Vite (Asset Bundler)

    Instalasi Vite & Laravel Vite Plugin

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

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

    Update Blade Layout

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

    <!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{{ config('app.name') }}</title>
        @vite(['resources/css/app.css', 'resources/js/app.js'])
    </head>
    <body>
        @yield('content')
    </body>
    </html>

    4. Menambahkan Laravel Breeze (Auth Starter)

    Instalasi Breeze

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

    Breeze menyediakan routes, controllers, dan view scaffold yang kompatibel dengan Vite.

    5. Mengintegrasikan Laravel Sanctum (API Token & SPA)

    Instalasi Sanctum

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

    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,
    ],

    Contoh Penggunaan Token

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

    6. Best Practice untuk Struktur Projek

    • Feature‑Based Directories: pisahkan kode per domain di dalam app/Features (e.g., Posts, Comments).
    • Form Request Validation: gunakan php artisan make:request untuk semua validasi input.
    • Service Layer: buat kelas service di app/Services untuk logika bisnis, menjaga controller tetap ringan.
    • Repository Pattern (opsional): jika aplikasi membutuhkan abstraksi data, gunakan repository di app/Repositories.
    • Environment Security: jangan commit .env, gunakan env:cache di produksi.
    • Cache Configuration: aktifkan Redis di config/cache.php untuk queue & session yang cepat.

    7. Deploy ke Production

    Optimasi Artisan Commands

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

    Build Assets

    npm run build

    Set Permissions

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

    8. Testing & QA

    • Unit & Feature Test dengan php artisan test.
    • Static Analysis: composer require --dev phpstan/phpstan dan jalankan ./vendor/bin/phpstan analyse.
    • Laravel Pint untuk code style: composer require --dev laravel/pint && ./vendor/bin/pint.

    9. Kesimpulan

    Dengan mengikuti langkah‑langkah di atas, Anda memiliki basis Laravel 11 yang modern, cepat, dan siap untuk pengembangan aplikasi SPA atau API yang aman menggunakan Vite, Breeze, dan Sanctum. Implementasi best practice seperti feature‑based struktur dan service layer akan memudahkan skalabilitas di masa depan.


    Laravel 11 kini menawarkan alur kerja yang lebih ringan dan terintegrasi berkat Vite, Breeze, dan Sanctum. Mengikuti tutorial ini memberi fondasi kuat, mempercepat development, dan memastikan aplikasi siap produksi dengan standar keamanan serta performa modern.
    Panduan step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, serta best practice modern untuk pengembangan aplikasi web PHP Framework yang cepat dan aman.

    Laravel,PHP Framework,Web Development

    #Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


    Panduan lengkap langkah demi langkah untuk menginstal Laravel versi terbaru (Laravel 11) dengan stack modern termasuk Vite, Breeze, Sanctum, serta optional Docker untuk development environment yang optimal.

    1. Prasyarat

    • PHP >= 8.3
    • Composer 2.x
    • Node.js >= 20 dan npm
    • Git
    • Docker (opsional, untuk containerized dev)

    2. Instalasi Laravel 11 via Composer

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

    Perintah ini mengunduh skeleton Laravel 11 ke folder myapp.

    2.1. Verifikasi Instalasi

    cd myapp
    php artisan --version

    Output harus menampilkan Laravel Framework 11.x.x.

    3. Setup Frontend dengan Vite

    Laravel 11 sudah menyertakan Vite secara default. Pastikan dependensi Node terinstall.

    npm install

    Jalankan development server:

    npm run dev

    Vite akan melayani aset di http://localhost:5173 dan hot‑module‑reloading otomatis.

    4. Instalasi Laravel Breeze (Starter Kit)

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

    Perintah di atas memasang Breeze dengan scaffolding Vue 3 (pilihan lain: blade, react, svelte). Setelah itu, rebuild aset:

    npm install && npm run dev

    4.1. Migrasi Database

    php artisan migrate

    Breeze menyediakan tabel users, password_resets, dll.

    5. Autentikasi API dengan Laravel Sanctum

    Sanctum memungkinkan token‑based API serta SPA authentication.

    composer require laravel/sanctum

    Publikasikan konfigurasi dan migrasi:

    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:

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

    5.2. Menggunakan Token Personal

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

    6. Optional: Development Environment dengan Docker

    Gunakan Laravel Sail – lingkungan Docker siap pakai.

    composer require laravel/sail --dev
    php artisan sail:install
    ./vendor/bin/sail up -d

    Perintah di atas memulai container laravel.test, mysql, redis, dll.

    6.1. Mengakses aplikasi

    ./vendor/bin/sail artisan migrate
    ./vendor/bin/sail npm run dev

    Buka http://localhost untuk melihat aplikasi.

    7. Best Practice Modern

    • Environment Files: gunakan .env.example yang lengkap, jangan commit .env.
    • Code Style: aktifkan Laravel Pint untuk standar PSR‑12.
      composer require laravel/pint --dev
      vendor/bin/pint
    • Testing: tulis feature test dengan Pest atau PHPUnit.
      composer require pestphp/pest --dev
      php artisan test
    • Cache Config: jalankan php artisan config:cache & php artisan route:cache pada production.
    • Security: set APP_DEBUG=false, gunakan HTTPS dan HSTS header.

    8. Deploy ke Production

    1. Clone repo pada server.
    2. Install dependensi: composer install --optimize-autoloader --no-dev
    3. Install assets: npm ci && npm run build
    4. Set environment, migrate, cache.
      php artisan migrate --force
      php artisan config:cache
      php artisan route:cache
      php artisan view:cache
    5. Konfigurasi queue & scheduler (supervisor, cron) bila diperlukan.

    Dengan mengikuti langkah‑langkah di atas, proyek Laravel 11 Anda siap untuk dikembangkan secara cepat, aman, dan scalable.


    Laravel 11 menyediakan fondasi modern dengan Vite, Breeze, dan Sanctum yang terintegrasi. Menggunakan Docker lewat Sail mempercepat setup lingkungan, sementara best practice seperti caching, testing, dan security memastikan aplikasi siap produksi. Ikuti tutorial ini untuk membangun aplikasi PHP yang robust dan future‑proof.
    Panduan step-by-step setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Docker. Termasuk instalasi, konfigurasi, contoh kode, serta best practice modern untuk pengembangan web dengan Laravel.

    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 menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menambahkan Jetstream untuk otentikasi API modern.

    1. Persiapan Lingkungan

    1.1. Persyaratan Sistem

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

    1.2. Membuat Project Laravel 11

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

    Masuk ke folder project:

    cd blog

    2. Instalasi Vite (Laravel Mix sudah digantikan)

    2.1. Install dependencies

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

    2.2. 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.3. Update Blade Layout

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

    <!DOCTYPE html>
    <html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
    <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{{ config('app.name') }}</title>
        @vite(['resources/css/app.css', 'resources/js/app.js'])
    </head>
    <body>
        @yield('content')
    </body>
    </html>

    3. Instalasi Breeze (Starter Kit untuk autentikasi berbasis Blade)

    3.1. Install package

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

    3.2. Install NPM dependencies & compile

    npm install
    npm run dev

    3.3. Migrasi Database

    php artisan migrate

    4. Menambahkan Sanctum untuk API Token Authentication

    4.1. Install Sanctum

    composer require laravel/sanctum

    4.2. Publish konfigurasi & migration

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

    4.3. Konfigurasi Middleware

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

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

    4.4. Contoh Endpoint Token

    use Illuminate\Http\Request;
    use App\Models\User;
    use Laravel\Sanctum\PersonalAccessToken;
    
    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]);
    });

    5. (Opsional) Upgrade ke Jetstream dengan Livewire atau Inertia

    5.1. Install Jetstream

    composer require laravel/jetstream
    php artisan jetstream:install livewire --teams

    5.2. Migrate & compile

    php artisan migrate
    npm run dev

    5.3. Penjelasan Singkat

    Jetstream menambahkan fitur tim, profil, dua faktor, serta integrasi Livewire atau Inertia yang modern. Pilih livewire bila ingin komponen Blade reaktif tanpa menulis JavaScript berat.

    6. Best Practice Modern

    • Gunakan environment variables (.env) untuk semua kredensial.
    • Aktifkan APP_DEBUG=false di production.
    • Set APP_URL dengan HTTPS.
    • Cache konfigurasi: php artisan config:cache dan route: php artisan route:cache.
    • Gunakan php artisan view:cache untuk Blade.
    • Deploy dengan php artisan storage:link dan php artisan queue:work --daemon bila memakai queue.

    7. Verifikasi Instalasi

    Jalankan server local dan pastikan semua fitur bekerja:

    php artisan serve

    Buka http://127.0.0.1:8000 – Anda akan melihat halaman landing Breeze. Coba endpoint /api/login dengan Postman untuk memverifikasi Sanctum.


    Dengan mengikuti langkah‑langkah di atas, Anda kini memiliki aplikasi Laravel 11 yang sepenuhnya modern: Vite sebagai bundler, Breeze untuk UI Blade, Sanctum untuk API token, serta opsi Jetstream bila butuh fitur tim atau Livewire. Praktik terbaik yang diterapkan memastikan performa optimal dan keamanan produksi sehingga siap dikembangkan lebih lanjut.
    Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan Jetstream. Langkah demi langkah instalasi, konfigurasi, contoh kode, dan best practice modern untuk PHP Framework Laravel.

    Laravel,PHP Framework,Web Development

    #Laravel #LaravelIndonesia #PHP #WebDev #Backend

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


    Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru, mengintegrasikan Vite, Laravel Breeze, serta Sanctum dengan konfigurasi keamanan dan performa optimal sesuai standar 2026.

    1. Prasyarat

    • PHP >= 8.3
    • Composer 2.7+
    • Node.js >= 20 (LTS)
    • Database MySQL 8.0 atau PostgreSQL 15

    2. Instalasi Laravel 11

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

    Perintah ini mengunduh kerangka Laravel 11 stabil terbaru.

    3. Setup Vite (frontend bundler default)

    Laravel 11 sudah men-ship Vite, cukup install dependencies:

    npm install
    npm run dev

    Jika ingin mengubah konfigurasi, edit vite.config.js – contoh menambahkan alias @/components:

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

    4. Instalasi Laravel Breeze (starter kit)

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

    Breeze menyediakan autentikasi dasar dengan Vue 3, TailwindCSS, dan Vite. Pilihan react atau blade dapat disesuaikan.

    5. Konfigurasi Sanctum untuk API Token

    composer require laravel/sanctum
    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,
    ],

    5.1. Membuat Personal Access Token

    // routes/api.php
    use App\Models\User;
    use Illuminate\Http\Request;
    
    Route::post('/tokens/create', function (Request $request) {
        $request->user()->tokens()->delete(); // optional: revoking old tokens
        $token = $request->user()->createToken('mobile-app');
        return ['token' => $token->plainTextToken];
    })->middleware('auth:sanctum');

    5.2. Menggunakan Token di Frontend

    import axios from 'axios';
    
    const api = axios.create({
        baseURL: '/api',
        headers: { Authorization: `Bearer ${localStorage.getItem('token')}` },
    });
    
    api.get('/user').then(res => console.log(res.data));

    6. Konfigurasi Environment

    # .env
    APP_NAME="Laravel"
    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=laravel
    DB_USERNAME=root
    DB_PASSWORD=
    
    SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
    SESSION_DOMAIN=localhost
    
    VITE_APP_NAME="Laravel 11"

    7. Best Practice 2026

    • Cache Config & Routes: jalankan php artisan config:cache dan php artisan route:cache di production.
    • Queue & Jobs: gunakan Redis sebagai driver queue, contoh: QUEUE_CONNECTION=redis.
    • Testing: Laravel 11 mendukung Pest & PHPUnit 11. Contoh test auth dengan Sanctum.
    • Static Analysis: integrasikan PHPStan level max dan Laravel Pint untuk coding standards.
    • Deploy: gunakan Laravel Octane (Swoole) untuk performa tinggi; konfigurasi php artisan octane:start --watch di staging.

    8. Deploy ke Server Linux (Ubuntu 24.04)

    1. Clone repo, git pull
    2. Install dependencies: composer install --optimize-autoloader --no-dev
    3. Install npm prod: npm ci && npm run build
    4. Set permission: chown -R www-data:www-data storage bootstrap/cache
    5. Configure .env production, generate key: php artisan key:generate
    6. Run migrations & cache: php artisan migrate --force && php artisan config:cache && php artisan route:cache
    7. Start Octane atau php-fpm.

    Dengan langkah di atas aplikasi Laravel 11 siap melayani traffic modern dengan Vite, Breeze UI, dan Sanctum API yang aman.


    Laravel 11 menawarkan stack modern yang terintegrasi: Vite untuk asset bundling, Breeze sebagai starter kit ringan, serta Sanctum untuk autentikasi API stateless. Mengikuti langkah instalasi, konfigurasi environment, serta best practice seperti caching, queue, dan Octane akan memastikan aplikasi Anda performant, aman, dan siap skala di tahun 2026.
    Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, dan Sanctum. Panduan step-by-step, konfigurasi, contoh kode, dan best practice modern untuk web development 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 ini menjelaskan cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, dan Sanctum untuk pengembangan aplikasi web modern dengan PHP Framework Laravel.

    1. Prerequisite & Persiapan Lingkungan

    Pastikan sistem Anda memenuhi persyaratan minimum Laravel 11:

    • PHP >= 8.2
    • Composer terbaru
    • Node.js >= 20 dengan npm atau Yarn
    • Database MySQL/PostgreSQL (opsional untuk contoh)

    Langkah 1: Install Composer dan Laravel Installer

    composer global require laravel/installer
    export PATH="$HOME/.config/composer/vendor/bin:$PATH"
    

    Verifikasi instalasi:

    laravel --version

    2. Membuat Project Laravel 11 dengan Vite

    Langkah 2: Buat proyek baru

    laravel new myapp --jetstream
    # atau jika tidak pakai Jetstream
    laravel new myapp
    cd myapp
    

    Laravel 11 secara default sudah mengintegrasikan Vite sebagai bundler front‑end.

    Langkah 3: Instalasi dependensi Node

    npm install
    # atau menggunakan Yarn
    yarn
    

    Jalankan server dev untuk memastikan Vite bekerja:

    npm run dev
    

    3. Menambahkan Laravel Breeze (Auth Starter Kit)

    Langkah 4: Install Breeze via Composer

    composer require laravel/breeze --dev
    php artisan breeze:install vue
    # atau gunakan blade/statis
    # php artisan breeze:install blade
    

    Perintah ini men‑scaffold route, controller, view, dan file Vue (jika dipilih).

    Langkah 5: Compile aset front‑end

    npm run dev
    

    Setelah selesai, akses http://localhost:8000 dan Anda sudah melihat halaman landing Breeze.

    4. Mengkonfigurasi Laravel Sanctum untuk API Authentication

    Langkah 6: Install Sanctum

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

    Pastikan tabel personal_access_tokens telah terbuat.

    Langkah 7: Tambahkan Middleware Sanctum

    Di app/Http/Kernel.php, pastikan grup api mengandung middleware EnsureFrontendRequestsAreStateful::class untuk SPA:

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

    Langkah 8: Buat route API yang dilindungi

    // routes/api.php
    use App\Http\Controllers\API\UserController;
    Route::middleware('auth:sanctum')->get('/user', [UserController::class, 'show']);
    

    Langkah 9: Implementasi token pada Front‑End (Vue)

    import axios from 'axios';
    
    // Login dan simpan cookie session (Sanctum menggunakan cookie)
    await axios.post('/login', {email, password});
    
    // Request ke endpoint yang dilindungi
    const {data} = await axios.get('/api/user');
    console.log(data);
    

    5. Best Practice Modern

    • Environment Variables: Simpan kredensial database, API keys, dan APP_KEY di .env. Jangan pernah commit file ini.
    • Cache Config & Routes: Pada production jalankan php artisan config:cache dan php artisan route:cache.
    • Static Asset Versioning: Vite sudah menambahkan hash pada file build; pastikan mix() diganti dengan vite() pada Blade.
    • Testing: Gunakan PHPUnit & Pest untuk unit & feature test. Contoh: php artisan test.
    • Security: Aktifkan SanctumSanctum::usePersonalAccessTokenModel() hanya bila diperlukan, dan set SESSION_SECURE_COOKIE=true di production.

    6. Deploy ke Server Production

    Langkah 10: Build assets

    npm run build
    

    Langkah 11: Optimasi Artisan

    php artisan optimize
    php artisan view:cache
    php artisan route:cache
    php artisan event:cache
    

    Langkah 12: Set Permissions & Restart Queue

    chown -R www-data:www-data storage bootstrap/cache
    php artisan queue:restart
    

    Setelah semua langkah selesai, aplikasi Laravel 11 Anda siap melayani trafik dengan stack modern Vite, Breeze, dan Sanctum.


    Dengan mengikuti tutorial ini, Anda telah menyiapkan environment Laravel 11 lengkap dengan Vite untuk asset bundling, Breeze sebagai starter kit authentication, dan Sanctum untuk API token‑based security. Mengikuti best practice modern akan memastikan aplikasi Anda performant, aman, dan mudah dipelihara di lingkungan produksi.
    Tutorial step‑by‑step setup Laravel 11 modern dengan Vite, Breeze, dan Sanctum. Ikuti panduan instalasi, konfigurasi, contoh kode, dan best practice untuk pengembangan web menggunakan 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)


    Tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, dan Sanctum, serta menerapkan best practice keamanan dan performa.

    1. Prasyarat

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

    2. Instalasi Laravel 11

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

    Perintah di atas menghasilkan proyek Laravel 11 dengan struktur terbaru.

    3. Setup Vite (Asset Bundler)

    Laravel 11 sudah menyertakan Vite secara default. Pastikan file vite.config.js ada dan set properti server.host untuk hot‑reload.

    // vite.config.js
    import { defineConfig } from 'vite';
    import laravel from 'laravel-vite-plugin';
    
    export default defineConfig({
        server: { host: '127.0.0.1', hot: true },
        plugins: [laravel([ 'resources/css/app.css', 'resources/js/app.js' ])],
    });

    Jalankan:

    npm install
    npm run dev

    4. Instalasi Laravel Breeze (Starter Kit)

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

    Breeze menyediakan autentikasi dasar, layout Blade, dan komponen Vue 3 yang ter‑integrasi dengan Vite.

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

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

    Aktifkan middleware EnsureFrontendRequestsAreStateful::class pada app/Http/Kernel.php:

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

    5.1. Konfigurasi CSRF untuk SPA

    Di resources/js/app.js tambahkan token CSRF secara otomatis:

    import { createApp } from 'vue';
    import axios from 'axios';
    axios.defaults.withCredentials = true;
    axios.get('/sanctum/csrf-cookie');
    

    6. Pengaturan Database & .env

    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=blog
    DB_USERNAME=root
    DB_PASSWORD=secret

    Jalankan migrasi:

    php artisan migrate

    7. Contoh Kode – Registrasi & Login SPA

    Component Vue Register.vue:

    <template>
      <form @submit.prevent="register">
        <input v-model="form.name" placeholder="Nama" required/>
        <input v-model="form.email" type="email" placeholder="Email" required/>
        <input v-model="form.password" type="password" placeholder="Password" required/>
        <button type="submit">Daftar</button>
      </form>
    </template>
    
    <script setup>
    import { ref } from 'vue';
    import axios from 'axios';
    
    const form = ref({ name: '', email: '', password: '' });
    
    const register = async () => {
      await axios.get('/sanctum/csrf-cookie'); // get CSRF token
      await axios.post('/register', form.value);
      // redirect atau set state login
    };
    </script>

    Route API di routes/api.php sudah disediakan oleh Breeze; Anda hanya perlu melindungi route dengan auth:sanctum bila diperlukan.

    8. Best Practice

    • Environment Separation: gunakan .env.testing untuk CI, jangan commit secret.
    • Cache Config & Routes pada production: php artisan config:cache && php artisan route:cache
    • Gunakan Queue untuk email/verifikasi: php artisan queue:work
    • Static Asset Versioning otomatis lewat Vite (manifest.json).
    • Security: aktifkan APP_DEBUG=false, set SESSION_SECURE_COOKIE=true, gunakan HTTPS.

    9. Deploy ke Production (Contoh dengan Laravel Forge)

    1. Push repository ke GitHub.
    2. Buat site baru di Forge, pilih PHP 8.2, database MySQL.
    3. Deploy script:
    cd /home/forge/{{domain}}
    git pull origin main
    composer install --optimize-autoloader --no-dev
    npm ci
    npm run build
    php artisan migrate --force
    php artisan cache:clear
    php artisan config:cache
    php artisan route:cache
    php artisan view:cache

    Pastikan QUEUE_CONNECTION=redis dan Supervisor mengelola worker.

    10. Verifikasi

    Buka https://your-domain.test, registrasi, login, dan periksa header sanctum-cookie. Semua fungsi SPA harus berjalan tanpa reload penuh.


    Dengan mengikuti langkah‑langkah di atas, Anda memiliki aplikasi Laravel 11 modern yang memakai Vite untuk asset bundling, Breeze sebagai starter kit UI, dan Sanctum untuk autentikasi SPA yang aman. Implementasi best practice membuat aplikasi siap produksi, scalable, dan mudah dipelihara dalam ekosistem PHP Framework Laravel.
    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

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


    Ikuti langkah demi langkah cara menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta Docker untuk pengembangan yang efisien dan aman.

    1. Prasyarat

    1.1. Sistem Operasi & Software

    • PHP >= 8.2
    • Composer 2.x
    • Node.js >= 20
    • Docker & Docker Compose (opsional but recommended)

    1.2. Buat Direktori Project

    mkdir laravel-modern && cd laravel-modern

    2. Instalasi Laravel 11

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

    Perintah ini mengunduh Laravel 11 beserta dependensi standar.

    3. Mengintegrasikan Vite

    3.1. Install Vite & Dependencies

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

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

    3.3. Update Blade Layout

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

    4. Menambahkan Laravel Breeze (Starter Kit)

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

    Breeze mengatur autentikasi dasar dengan Vue 3 dan Vite.

    5. Mengamankan API dengan Laravel Sanctum

    5.1. Instal Sanctum

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

    5.2. Konfigurasi Middleware

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

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

    5.3. Contoh Route & Controller

    // routes/api.php
    use AppHttpControllersAPIAuthController;
    
    Route::post('/login', [AuthController::class, 'login']);
    Route::middleware('auth:sanctum')->get('/user', function (\Illuminate\Http\Request $request) {
        return $request->user();
    });
    // app/Http/Controllers/API/AuthController.php
    namespace App\Http\Controllers\API;
    
    use App\Http\Controllers\Controller;
    use App\Models\User;
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Hash;
    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]);
        }
    }
    

    6. Dockerisasi (Opsional tetapi Highly Recommended)

    6.1. Buat docker-compose.yml

    version: '3.8'
    services:
      app:
        image: php:8.2-fpm
        container_name: laravel_app
        working_dir: /var/www/html
        volumes:
          - ./:/var/www/html
        networks:
          - laravel
        depends_on:
          - db
      web:
        image: nginx:alpine
        container_name: nginx_web
        ports:
          - "8080:80"
        volumes:
          - ./:/var/www/html
          - ./nginx/conf.d:/etc/nginx/conf.d
        networks:
          - laravel
      db:
        image: mysql:8.0
        container_name: mysql_db
        environment:
          MYSQL_ROOT_PASSWORD: secret
          MYSQL_DATABASE: laravel
          MYSQL_USER: laravel
          MYSQL_PASSWORD: secret
        ports:
          - "3306:3306"
        networks:
          - laravel
    networks:
      laravel:
        driver: bridge

    6.2. Nginx Config (nginx/conf.d/default.conf)

    server {
        listen 80;
        index index.php index.html;
        root /var/www/html/public;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_pass app:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }
    

    6.3. Jalankan Container

    docker compose up -d

    Setelah kontainer berjalan, lakukan migration:

    docker exec -it laravel_app php artisan migrate

    7. Best Practice Modern

    • Environment Variables: Simpan rahasia di .env dan gunakan dotenv di Docker.
    • Code Quality: Gunakan Laravel Pint untuk standar coding: composer require laravel/pint --dev then vendor/bin/pint.
    • Testing: Tuliskan Feature Test menggunakan Pest atau PHPUnit, jalankan dengan php artisan test.
    • Cache Config & Routes: Setelah produksi, jalankan php artisan config:cache dan php artisan route:cache.
    • Static Analysis: Integrasikan PHPStan atau Psalm untuk deteksi bug dini.

    Dengan mengikuti tutorial ini, Anda mendapat setup Laravel 11 yang modern, cepat dengan Vite, lengkap authentication via Sanctum, dan lingkungan pengembangan terisolasi menggunakan Docker. Praktik‑praktik di atas meningkatkan keamanan, kecepatan development, dan kesiapan produksi untuk proyek PHP Framework modern.
    Tutorial step-by-step Laravel 11 setup modern dengan Vite, Breeze, Sanctum, dan Docker. Panduan lengkap bagi developer PHP Framework untuk lingkungan produksi siap pakai.

    Laravel,PHP Framework,Web Development

    #Laravel #LaravelIndonesia #PHP #WebDev #Backend

    Most Read

    Loading...

    Tutorial

    Loading...

    Packages

    Loading...