Selamat datang di seri baru: CodeIgniter 4. Setelah tujuh episode mengolah PHP native (#56-62) dan lima episode menguasai database serta SQL (#63-67), kamu sampai di gerbang yang memisahkan "bisa ngoding PHP" dengan "bisa membangun aplikasi web beneran": framework.
Di seri PHP Native kamu menulis semuanya dari nol: koneksi database manual, routing manual dengan $_GET, validasi manual. Itu melelahkan tapi disengaja, supaya kamu paham apa yang terjadi di balik layar. Sekarang saatnya naik kelas. Framework adalah kerangka kerja yang sudah menyiapkan fondasi itu untukmu, supaya energimu fokus ke logika aplikasinya, bukan mengulang kode yang sama di setiap proyek.
Kenapa CodeIgniter 4 yang dipilih sebagai framework pertamamu, bukan langsung Laravel? Karena ia ringan, cepat, dan landai dipelajari. Kurva belajarnya bersahabat untuk lulusan PHP native, dan konsep yang kamu pelajari di sini (MVC, routing, model) akan terbawa saat kamu masuk ke Laravel di episode #73 nanti. Di akhir artikel ini, CodeIgniter 4 sudah terpasang di laptopmu dan menyala di browser.
Kenapa Butuh Framework Setelah PHP Native
Ingat proyek buku tamu di #62? Kamu menulis koneksi database sendiri, mengatur $_GET['aksi'] sendiri untuk routing, dan menulis validasi sendiri. Untuk satu proyek kecil itu tidak masalah. Tapi bayangkan mengulang semuanya untuk setiap proyek baru, sambil memastikan tidak ada celah keamanan yang terlewat. Capek, dan rawan salah.
Framework menyelesaikan masalah itu dengan menyediakan struktur baku: tempat khusus untuk routing, tempat khusus untuk logika (controller), tempat khusus untuk database (model), dan tempat khusus untuk tampilan (view). Struktur ini bernama MVC (Model-View-Controller), dan hampir semua framework web modern memakainya. Belajar MVC sekali di CodeIgniter, kamu sudah paham separuh jalan Laravel, dan bahkan kerangka berpikir framework JavaScript seperti Express.
Analoginya: PHP native itu seperti memasak dengan meracik semua bumbu dari bahan mentah setiap kali. Framework itu seperti punya bumbu dasar yang sudah diracik dan teruji di dapur, tapi kamu tetap yang menentukan masakannya. Kamu tidak kehilangan kendali, kamu hanya berhenti mengulang pekerjaan yang sama.
Apa Itu CodeIgniter 4
CodeIgniter adalah framework PHP yang ringan, cepat, dan fleksibel. Versi 4 adalah tulis ulang total dari versi-versi sebelumnya, dengan syarat PHP 8.2 atau lebih baru dan arsitektur modern. Beberapa fakta kuncinya:
- Ringan. Ukuran vendor-nya sekitar 30 MB, jauh lebih kecil dari framework PHP lain. Waktu boot-nya belasan milidetik, cocok untuk laptop kentang dan server kecil.
- MVC penuh. Routing, controller, model, dan view terstruktur rapi di folder
app. - Query Builder bawaan. Kamu bisa menulis query database dengan gaya PHP yang aman dari SQL injection, tanpa menulis SQL mentah terus-menerus.
- Tooling spark. Perintah
php sparkmembantumu membuat migration, menjalankan server lokal, dan banyak lagi. - Dokumentasi lengkap. User guide resminya di codeigniter.com sangat rinci, kebiasaan baik yang jarang dimiliki framework lain.
Ini juga meluruskan mitos pertama: "langsung belajar Laravel saja, ngapain CodeIgniter". Laravel memang lebih kaya fitur dan lebih populer untuk proyek besar, tapi ia juga lebih berat dan kurva belajarnya lebih curam. CodeIgniter 4 membuatmu paham konsep MVC dengan gangguan minimal, dan konsep itu yang mahal. Nanti di episode #73 kamu akan kenalan dengan Laravel dengan fondasi yang sudah kuat, bukan dengan kepala kosong.
Persiapan: PHP 8.2 dan Composer
Sebelum install, pastikan dua hal ini beres di laptopmu:
- PHP 8.2 atau lebih baru. Cek dengan
php -vdi terminal. CodeIgniter 4 tidak jalan di PHP 7. Kalau PHP-mu masih lama, update dulu, karena PHP 8.1 pun sudah melewati masa dukungannya. - Composer. Ini manajer paket PHP, cara modern memasang library dan framework. Unduh dari getcomposer.org dan pastikan perintah
composer -vmenampilkan versinya.
Selain itu, pastikan ekstensi PHP intl dan mbstring aktif (biasanya sudah aktif di instalasi PHP modern), plus mysqlnd kalau kamu berencana memakai MySQL. Ekstensi json aktif secara default dan jangan dimatikan.
Install CodeIgniter 4 dengan Composer
Cara resmi dan paling gampang: satu perintah composer.
composer create-project codeigniter4/appstarter kantin-online
Composer akan mengunduh kerangka aplikasi (app starter) ke folder kantin-online. Masuk ke foldernya dan intip strukturnya:
kantin-online/
app/ -- kodemu: Controllers, Models, Views, Config
public/ -- satu-satunya folder yang boleh diakses browser
system/ -- kode framework, JANGAN diubah
writable/ -- cache, log, upload (harus bisa ditulis)
spark -- tool command line CodeIgniter
Perhatikan pemisahan ini baik-baik, karena ia adalah pelajaran keamanan pertama dari framework. Browser hanya boleh mengakses public/. Semua kode aplikasimu di app/ tidak bisa diakses langsung dari URL. Di PHP native dulu, file apa pun yang kamu taruh di folder web bisa dibuka orang. Di sini, arsitekturnya melindungimu secara default.
Menyalakan Server Lokal
Tidak perlu XAMPP atau Laragon untuk latihan. CodeIgniter punya server pengembangan bawaan:
cd kantin-online
php spark serve
Buka http://localhost:8080 di browser. Kalau muncul halaman selamat datang CodeIgniter, instalasimu sukses. Server ini cukup untuk belajar; nanti saat deploy beneran (#90) kamu akan memakai Nginx atau Apache.
Satu langkah konfigurasi yang wajib: di folder proyek ada file bernama env. Salin menjadi .env, lalu buka dan atur dua baris ini:
CI_ENVIRONMENT = development
app.baseURL = 'http://localhost:8080/'
Berhenti dan tebak dulu! Saat kamu membuka http://localhost:8080, file PHP mana yang dieksekusi pertama kali oleh server?
kantin-online/
app/Controllers/Home.php
public/index.php
system/CodeIgniter.php
Pengaturan CI_ENVIRONMENT = development juga penting dipahami. Dalam mode development, CodeIgniter menampilkan detail error dan toolbar debug yang membantumu belajar. Dalam mode production, detail itu disembunyikan supaya tidak bocor ke pengguna. Kebiasaan baik: development di laptop, production di server, jangan pernah tertukar.
Berhenti dan tebak dulu! Kamu tidak sengaja men-deploy aplikasi dengan CI_ENVIRONMENT = development. Apa bahayanya?
Ini meluruskan mitos kedua: "framework itu sihir yang menulis kode untukmu". Tidak. Framework menyiapkan fondasi dan aturan main, tapi logika aplikasinya tetap kamu yang tulis. Bedanya, sekarang kamu menulis di atas fondasi yang sudah teruji, bukan di atas tanah kosong.
Kuis Cepat
Kuis cepat: Manakah pernyataan yang benar tentang CodeIgniter 4?
Latihan: Siapkan Dapur Framework-mu
- Jalankan
php -vdancomposer -v. Kalau salah satunya belum ada, pasang dulu sebelum lanjut. - Install CodeIgniter 4 dengan composer ke folder
kantin-online, salinenvmenjadi.env, dan aturCI_ENVIRONMENTsertaapp.baseURL. - Jalankan
php spark servedan bukahttp://localhost:8080. Pastikan halaman selamat datang muncul. - Ubah, jangan cuma baca: buka
app/Controllers/Home.php, ubah teks yang dikembalikan methodindex(), refresh browser, dan lihat perubahanmu tampil. Ini bukti kamu memegang kendali. - Eksperimen: coba akses
http://localhost:8080/../app/Config/Database.phpatau tebak URL menuju file di luarpublic. Amati bahwa server menolaknya. Tulis satu kalimat menjelaskan kenapa itu kabar baik.
Di episode #69, Routing, Controller, dan View di CodeIgniter, kita mulai memasak beneran: membuat halaman sendiri, mengatur URL-nya lewat routing, dan mengirim data dari controller ke view. Tiga pilar MVC yang akan kamu pakai di setiap proyek framework sampai kapan pun.
Diskusi & Komentar 0
Punya tanggapan, pertanyaan, atau tips seputar tutorial ini? Tulis komentar kamu di bawah!
Jadilah yang pertama membuka obrolan dan berbagi pandangan seputar tutorial resep kode ini.
Tulis Komentar
Komentar menggunakan akun Google. Harap berkomentar dengan santun dan berbobot.