News

Loading...

Community Links

Laravel Jobs

Latest News

Loading...

Latest Partners

Loading...

Partners

Loading...

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


Tutorial step‑by‑step ini menjelaskan cara menyiapkan proyek Laravel 11 terbaru dengan stack modern termasuk Vite, Laravel Breeze, Laravel Sanctum, serta best practice untuk pengembangan aplikasi web yang aman dan efisien.

1. Persyaratan Sistem

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

2. Instalasi Laravel 11

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

Perintah di atas mengunduh Laravel 11 dengan struktur folder standar.

3. Mengaktifkan Vite (Frontend Build Tool)

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

# install dependencies
npm install
# atau dengan Yarn
yarn install

Jalankan development server:

npm run dev   // atau yarn dev

4. Instalasi Laravel Breeze (Starter Kit)

Breeze menyediakan scaffolding autentikasi berbasis Blade atau Inertia. Kita pilih Blade untuk contoh ini.

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

Setelah migrasi, akses /register atau /login untuk mengecek UI.

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

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

Update config/sanctum.php jika menggunakan SPA: pastikan stateful berisi domain front‑end Anda.

// contoh konfigurasi domain
'stateful' => explode(',', env('SANCTUM_STATEFUL_DOMAINS', 'localhost,127.0.0.1')),

Tambahkan middleware EnsureFrontendRequestsAreStateful::class pada api route group (biasanya sudah otomatis di App\Http\Kernel.php).

Contoh API Route dengan Sanctum

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

6. Konfigurasi Environment

APP_NAME="LaravelApp"
APP_ENV=local
APP_KEY=base64:GENERATE_KEY_HERE
APP_DEBUG=true
APP_URL=http://localhost

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

SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost
COOKIE_DOMAIN=localhost

7. Struktur Direktori yang Direkomendasikan

  • app/ – Service layer, Actions, dan DTO.
  • app/Contracts/ – Interface untuk Dependency Injection.
  • app/Http/Controllers/API/ – API controller terpisah.
  • resources/views/ – Blade view dengan komponen reusable.
  • resources/js/ – Entry point Vite, komponen Vue/React jika diperlukan.
  • routes/web.php – Route UI.
  • routes/api.php – Route API yang dilindungi Sanctum.

8. Best Practice Modern

  • Typed Properties & Union Types: Gunakan fitur PHP 8.2 di model dan service.
  • Dependency Injection pada controller, gunakan interface di app/Contracts.
  • Form Request Validation terpisah untuk setiap endpoint.
  • Resource Classes (php artisan make:resource) untuk format JSON konsisten.
  • Laravel Queues untuk pekerjaan asynchronous seperti email.
  • Cache Config & Routes di production: php artisan config:cache, php artisan route:cache.
  • Version Control: Simpan .env.example, jangan commit .env.

9. Deploy ke Production (Ringkas)

# contoh server Ubuntu
sudo apt-get update && sudo apt-get install -y nginx php8.2-fpm php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-mysql composer git

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

# set env produksicp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan config:cache
php artisan route:cache
php artisan view:cache

# set permission
sudo chown -R www-data:www-data storage bootstrap/cache

# configure Nginx (point root to /public)

10. Verifikasi

Buka http://your-domain.com, lakukan registrasi, login, dan uji endpoint API /api/user dengan token Sanctum.


Dengan mengikuti langkah‑langkah di atas, Anda memiliki proyek Laravel 11 yang siap produksi, menggunakan stack modern Vite, Breeze, dan Sanctum serta mengikuti best practice terkini. Setup ini mempercepat development, meningkatkan keamanan, dan memudahkan skalabilitas aplikasi web modern.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern. Ikuti langkah-langkah instalasi, konfigurasi, contoh kode, serta tips produksi untuk pengembangan web PHP Framework.

Laravel,PHP Framework,Web Development

#Laravel #LaravelIndonesia #PHP #WebDev #Backend

Tidak ada komentar:

Posting Komentar

Most Read

Loading...

Tutorial

Loading...

Packages

Loading...