CodeIgniter merupakan
salah satu framework terbaik saat
ini. Banyak website-website besar
menggunakan Codeigniter sebagai framework
utama dalam membangun website maupun
aplikasi. CodeIgniter adalah sebuah framework
yang dapat mempercepat pengembang untuk membuat sebuah aplikasi web. Ada banyak
library dan helper yang berguna didalamnya dan tentunya mempermudah proses
development.
CodeIgniter menggunakan konsep MVC (Model, View, Controller) dalam membangun aplikasi. Salah satu
keuntungan dari MVC adalah kemudahan maintenance
dan pengembangan aplikasi tersebut. MVC adalah sebuah metode untuk membuat
sebuah aplikasi web dengan memisahkan data (Model)
dari tampilan (View) dan cara
bagaimana memprosesnya (Controller). MVC
memungkinkan halaman website berisi
sedikit sekali skrip PHP, karena file presentasi terpisah dengan file skrip
PHP.
Pada model MVC, Model merupakan merupakan tempat kode program yang
digunakan untuk memanipulasi database, View yang berupa template HTML/XHTML
atau PHP untuk menampilkan data pada browser sedangkan Controller adalah tempat
kode program untuk mengontrol aliran aplikasi (sebagai pengontrol Model dan
View). Sehingga skrip PHP, query MySQL, Javascript dan CSS bisa dibuat terpisah
tidak dalam satu skrip berukuran besar untuk memudahkan proses maintenance dan pengembangan
lebih lanjut (Antonius:2010).
Alur konsep MVC (Model,
View, Controller) pada CodeIgniter dapat dilihat pada gambar berikut:
Penjelasan Gambar :
1.
File index.php berfungsi
sebagai controller depan,
menginisialisasi basic resource yang
dibutuhkan untuk menjalankan CodeIgniter.
2.
Router menganalisa HTTP request untuk menentukan apa yang harus
dilakukan dengan HTTP request itu.
3.
Jika file Cache masih ada, maka akan dikirim
langsung ke browser, tanpa melewati
eksekusi normal sistem.
4.
Security, sebelum controller aplikasi dipanggil, HTTP request dan data yang dikirim user, di
filter dahulu untuk alasan keamanan.
5.
Controller memanggil model,
library inti, plugin, helper, dan resource lainnya yang dibutuhkan untuk
memproses request tertentu.
6.
View yang diproses, dikirim ke browser sebagai hasil yang terlihat.
Jika status caching ON, View akan disimpan di cache, jadi jika ada request yang sama, View itu bisa ditampilkan lagi.