CodeIgniter sudah diluncurkan lebih dari 9 tahun lalu yaitu pada bulan Feburari 2006 untuk memudahkan para programmer atau developer dalam membangun sebuah website dengan menggunakan PHP. Meski begitu, CodeIgniter baru saja diluncurkan versi stabilnya sekitar 2 bulan lalu yaitu pada tanggal 30 Maret 2015 dengan versi 3.0.0. CodeIgniter merupakan aplikasi framework PHP yang menggunakan konsep MVC (Model, View Controller).

MVC merupakan konsep yang populer bagi kalangan pengembang website karena menggunakan konsep ini maka pekerjaan programmer menjadi jauh lebih sederhana dalam hal pengkodian. Pekerjaan programmer juga bisa menjadi lebih cepat namun website yang dibuat juga menjadi lebih terstruktur. Dalam sebuah situs yang dinamis dan stabil setidaknya ada 3 komponen utama yang harus dipenuhi yaitu basis data, logika aplikasi, dan cara menampilkan halaman-halaman pada situs tersebut. Tiga komponen penyusun tersebut direpresentasikan oleh MVC menjadi 3 bagian yaitu Model untuk basis data, View untuk tampilan halaman situs, dan Controller untuk logika aplikasi.

Untuk memahami konsep MVC lebih baik lagi, satu per satu bagian dari MVC akan dijelaskan dalam beberapa poin berikut ini:

M (Model)

Bagian yang merepresentasikan basis data pada sebuah situs ini biasanya berhubungan dengan database untuk keperluan memanipulasi data seperti insert, search, update, delete. Pada bagian model ini juga menangani validasi dari bagian controller, namun tidak bisa berhubungan langsung dengan bagian view.

V (View)

View atau cara menampilkan halaman situs adalah bagian yang menangani logika presentasi. Logika presentasi ini biasanya berupa file template HTML yang diatur oleh controller. Fungsi dari view adalah untuk merepresentasikan dan menerima data dari user namun tidak berhubungan langsung dengan bagian model.

C (Controller)

Karena view dan model tidak memiliki akses untuk berhubungan langsung maka fungsi controller adalah untuk menggabungkan kedua bagian tersebut untuk membangun sebuah situs yang dinamis. Fungsi dari controller secara sederhana adalah untuk menerima data dan permintaan dari user lalu menentukan apa yang akan dilakukan oleh aplikasi  untuk memenuhi permintaan dari user tersebut.