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