Hari ini aku mulai seri baru di blog ini: Belajar Laravel. Rencananya 25 episode, dari nol sampai bisa membuat aplikasi web lengkap — sebuah Sistem Informasi sederhana dengan stack yang sengaja kubuat “bersahaja”: jQuery, Bootstrap, MySQL, dan Blade murni. Aku tidak memakai tool bantu populer yang bisa menyembunyikan cara kerja aslinya, karena tujuanku satu: paham benar bagaimana request masuk, bagaimana Blade merender HTML, dan bagaimana query sampai ke MySQL. Catatan ini kutulis sambil belajar, jadi kalau ada bagian yang terasa membingungkan — tenang, memang begitulah rasanya belajar.
Kenapa Laravel?
Sebelum ngoding, aku sempat bertanya: kenapa harus Laravel, bukan framework lain? Alasanku kurang lebih begini:
- Paling populer di ekosistem PHP — banyak dipakai perusahaan, jadi banyak lowongan yang butuh skill ini.
- Pola MVC — kode dipisah rapi: Controller untuk logika, Model untuk data, View untuk tampilan. Lama-lama ini terasa menyehatkan, apalagi kalau project mulai besar.
- Dokumentasi dan komunitas besar — nyaris semua error yang kuhadapi sudah pernah dialami orang lain, dan jawabannya mudah ditemukan.
- Artisan — command line tool bawaan yang mempercepat kerja rutin seperti membuat controller, migration, sampai menjalankan server.
Intinya: Laravel memberi struktur tanpa memaksa kita menulis semuanya dari nol, tapi tetap cukup “telanjang” untuk kita pelajari apa yang terjadi di balik layar.
Prasyarat: PHP & Composer
Laravel berjalan di atas PHP, jadi syarat pertama adalah PHP terpasang. Pastikan versi PHP-mu memenuhi syarat minimum yang tercantum di dokumentasi resmi Laravel — jangan asal pakai versi lawas, karena fitur framework terbaru biasanya butuh versi PHP tertentu. Cara mengeceknya:
php -v
composer --version
Composer adalah manajer dependensi untuk PHP — kurang lebih seperti npm di dunia JavaScript. Lewat Composer-lah Laravel diunduh dan semua paket bawaannya dikelola. Kalau perintah composer tidak dikenali, biasanya PATH-nya belum ditambahkan ke sistem; ini salah satu hambatan pertama yang umum terjadi di Windows.
Environment Lokal
Untuk belajar, kita cukup butuh lingkungan lokal yang berisi PHP, Composer, dan MySQL. Pilihannya tergantung sistem operasi:
- Windows — XAMPP paling umum dipakai pemula karena satu paket: PHP, MySQL, dan Apache. Alternatif yang lebih ringan dan cepat: Laragon.
- macOS — Laravel Valet atau Laravel Herd; ringan, tanpa panel berat, cocok untuk development sehari-hari.
- Linux — install PHP dan Composer langsung dari package manager.
Yang penting diingat: apapun pilihannya, kebutuhan intinya sama — PHP, Composer, dan MySQL. Jangan terjebak terlalu lama memilih-milih tool; pakai yang paling cepat jalan di mesinmu.
Membuat Project Laravel
Setelah PHP dan Composer siap, membuat project Laravel baru cuma satu perintah:
composer create-project laravel/laravel nama-project
cd nama-project
Catatan jujur: proses pertama kali bisa terasa lama karena Composer mengunduh ratusan paket. Layar terlihat “diam” lama — itu normal, bukan hang. Setelah selesai, struktur folder di dalam project kira-kira begini (versi singkat):
app/— kode inti aplikasi: Models, Controllers diapp/Http/Controllers.routes/—routes/web.phpadalah “pintu masuk” semua request dari browser.resources/views/— file tampilan Blade (HTML).database/migrations/— skema tabel dalam bentuk kode.public/— satu-satunya folder yang “dilihat” web server;index.phpada di sini..env— konfigurasi (database, APP_KEY).
Menjalankan Server
Laravel punya server bawaan untuk development, dijalankan lewat Artisan:
php artisan serve
Setelah itu buka http://127.0.0.1:8000 — kalau muncul halaman selamat datang Laravel, berarti project-mu sudah hidup. Dua hal yang sering kuhadapi di tahap ini: pesan minta APP_KEY di .env (biasanya sudah ter-generate saat create-project; kalau belum, jalankan php artisan key:generate), dan port 8000 yang sudah dipakai aplikasi lain — ganti dengan php artisan serve --port=8080.
Kesalahan yang Umum
- Versi PHP terlalu tua — cek
php -v, lalu samakan dengan syarat minimum di dokumentasi resmi. - Composer tidak dikenali — PATH belum diatur; cari “add Composer to PATH” saat instalasi.
- Ekstensi PHP kurang — misalnya mbstring atau openssl; aktifkan di php.ini atau panel XAMPP/Laragon.
- Lupa perbedaan folder — aku sering bingung “file mana yang harus diutak-atik”. Di episode-episode awal, 90% waktu kita habis di
routes/,app/Http/Controllers, danresources/views.
Kesimpulan
Di episode ini kita sudah punya project Laravel yang berjalan di browser. Bagian yang paling membingungkan bagiku di awal ternyata bukan sintaks, tapi peta mental: “request masuk lewat mana, lalu ke mana?” Jawaban singkatnya: browser → routes/web.php → Controller → View. Di episode berikutnya kita akan membedah alur itu satu per satu: routing dan controller pertama.