Tutorial step‑by‑step untuk menginstal Laravel 11 terbaru, mengkonfigurasi Vite, Breeze, Sanctum, dan menyiapkan lingkungan pengembangan yang optimal pada tahun 2026.
1. Prasyarat
Pastikan Anda memiliki:
- PHP 8.3 atau lebih tinggi
- Composer 2.x
- Node.js 20+ dan npm 10+
- Database MySQL atau PostgreSQL
2. Instalasi Laravel 11 dengan Composer
composer create-project laravel/laravel my-app "11.*"
Perintah ini akan mengunduh versi stabil Laravel 11 yang dirilis pada 2026.
3. Mengaktifkan Vite (Asset Bundler Modern)
Laravel 11 sudah menyertakan laravel/vite-plugin secara default. Pastikan vite terinstall:
cd my-app
npm install
Jalankan server Vite untuk development:
npm run dev
4. Instalasi Breeze (Starter Kit dengan Inertia atau Livewire)
Kami gunakan Breeze dengan Blade & Vite:
composer require laravel/breeze --dev
php artisan breeze:install blade
npm run dev
Perintah di atas menyiapkan route auth, view Blade, dan konfigurasi Vite yang sudah terintegrasi.
5. Menambahkan Laravel Sanctum (API Authentication)
Sanctum memungkinkan token‑based atau SPA authentication.
composer require laravel/sanctum
php artisan vendor:publish --provider="Laravel\Sanctum\SanctumServiceProvider"
php artisan migrate
Tambahkan middleware EnsureFrontendRequestsAreStateful::class ke kernel.php di grup api:
\Illuminate\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
6. Konfigurasi Environment
Ubah .env sesuai kebutuhan produksi atau development:
APP_NAME="Laravel 11"
APP_ENV=local
APP_KEY=base64:...
APP_DEBUG=true
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=my_app
DB_USERNAME=root
DB_PASSWORD=
SANCTUM_STATEFUL_DOMAINS=localhost,127.0.0.1
SESSION_DOMAIN=localhost
7. Membuat API Resource dengan Sanctum
Contoh route API di routes/api.php:
use App\Http\Controllers\API\TaskController;
Route::middleware('auth:sanctum')->group(function () {
Route::apiResource('tasks', TaskController::class);
});
Controller sederhana:
namespace App\Http\Controllers\API;
use App\Models\Task;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class TaskController extends Controller {
public function index() { return Task::all(); }
public function store(Request $request) { return Task::create($request->all()); }
public function show(Task $task) { return $task; }
public function update(Request $request, Task $task) { $task->update($request->all()); return $task; }
public function destroy(Task $task) { $task->delete(); return response()->noContent(); }
}
8. Best Practice Modern
- Environment Variables: Jangan pernah menyimpan secret di repo, gunakan
.env.examplesebagai template. - Cache Config & Routes: Pada produksi jalankan
php artisan config:cachedanphp artisan route:cache. - Database Migrations: Selalu versioning schema dengan migration, gunakan
php artisan migrate:fresh --seeduntuk refresh lokal. - Testing: Laravel 11 menambahkan
Pestsebagai default; buat tes fitur denganphp artisan test. - Static Analysis: Install
phpstandanlarastanuntuk kualitas kode:
composer require --dev phpstan/phpstan
composer require --dev nunomaduro/larastan
9. Deploy ke Production (Laravel Forge atau Vapor)
Setelah repository siap, push ke remote, kemudian pada server jalankan:
composer install --optimize-autoloader --no-dev
npm ci --production
php artisan migrate --force
php artisan view:cache
php artisan event:cache
php artisan config:cache
php artisan route:cache
Pastikan APP_ENV=production dan APP_DEBUG=false di .env server.
Dengan mengikuti langkah‑step di atas, Anda memiliki Laravel 11 yang terstruktur dengan Vite, Breeze, dan Sanctum. Setup ini mencerminkan best practice modern pada 2026, memudahkan pengembangan SPA atau API sekaligus menjaga keamanan dan performa produksi.
Tutorial lengkap setup Laravel 11 dengan Vite, Breeze, Sanctum, dan best practice modern untuk pengembangan web 2026.
Laravel,PHP Framework,Web Development
#Laravel #LaravelIndonesia #PHP #WebDev #Backend
Tidak ada komentar:
Posting Komentar