Panduan lengkap langkah demi langkah untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, serta menambahkan Livewire untuk pengembangan aplikasi full‑stack modern.
1. Prasyarat
Pastikan sistem Anda memiliki:
- PHP >= 8.2
- Composer terbaru
- Node.js >= 20 & npm/yarn
- Database (MySQL, PostgreSQL, atau SQLite)
2. Instalasi Laravel 11
composer create-project laravel/laravel blog "11.*" --prefer-dist
cd blog
Perintah di atas membuat project blog dengan Laravel 11 stabil.
3. Setup Vite (Asset Bundler bawaan)
Laravel 11 sudah menyertakan Vite secara default. Pastikan vite.config.ts ada dan jalankan:
npm install
npm run dev
Anda dapat menyesuaikan resources/css/app.css dan resources/js/app.js sesuai kebutuhan.
4. Instalasi Laravel Breeze (Starter Kit)
composer require laravel/breeze --dev
php artisan breeze:install vue
npm install && npm run dev
Breeze menyediakan scaffolding autentikasi dengan Vue 3 + Vite. Jika ingin Blade, gunakan php artisan breeze:install tanpa parameter.
5. Konfigurasi Laravel Sanctum (API Token & SPA Authentication)
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke grup api di app/Http/Kernel.php:
'api' => [
\Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
'throttle:api',
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
Gunakan auth:sanctum pada route API yang memerlukan proteksi.
6. Menambahkan Livewire (Komponen Interaktif)
composer require livewire/livewire
php artisan livewire:publish --assets
Livewire bekerja bersamaan dengan Blade. Contoh komponen:
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>
<button wire:click="increment">Tambah</button>
<span>{{ $count }}</span>
</div>
Masukkan @livewire('counter') pada halaman Blade mana pun.
7. Environment & Konfigurasi Keamanan
- Set
APP_ENV=productiondanAPP_DEBUG=falsepada produksi. - Generate key:
php artisan key:generate - Konfigurasi
config/session.phpuntuksame_sitedansecureketika menggunakan HTTPS. - Gunakan
rate limitingpada route login:Route::post('/login', [AuthController::class, 'login'])->middleware('throttle:5,1');
8. Testing & Deployment
# Unit & Feature Test
php artisan test
# Optimasi produksi
php artisan optimize:clear
php artisan config:cache
php artisan route:cache
php artisan view:cache
# Build assets untuk prod
npm run build
Deploy ke server dengan PHP-FPM & Nginx, pastikan public/.htaccess (Apache) atau konfigurasi Nginx mengarah ke public directory.
9. Best Practice Tambahan
- Gunakan
phpstanataupsalmuntuk static analysis. - Integrasikan CI/CD (GitHub Actions) untuk lint, test, dan deploy otomatis.
- Simpan environment variables di
.env.exampledan gunakandotenvmanager. - Gunakan queue driver (Redis) untuk email, jobs, dan event broadcasting.
- Aktifkan
log:cleardan rotasi log vialogrotate.
Dengan mengikuti langkah‑step di atas, Anda akan memiliki aplikasi Laravel 11 yang modern, aman, dan siap untuk skala produksi. Kombinasi Vite, Breeze, Sanctum, dan Livewire memberikan fondasi front‑end reaktif sekaligus API yang kuat, sementara best practice tambahan memastikan kode tetap bersih dan dapat dipelihara.
Panduan setup Laravel 11 terbaru dengan Vite, Breeze, Sanctum, dan Livewire. Langkah demi langkah, konfigurasi, contoh kode, dan best practice modern untuk pengembangan web PHP.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar