MVC adalah konsep dasar yang harus diketahui dalam Code Igniter. MVC merupakan singkatan dari Model View Contrroller. MVC sebenarnya merupakan model/teknik yang memisahkan bisnis logic(alur pikir), data logic (penyimpanan data), dan presentation logic (tampilan data/antarmuka aplikasi) atau secara sederhana memisahkan antara desain, data, dan proses. Adapun komponen-komponen MVC antara lain:
1.Model
Model berhubungan dengan data dan interaksi ke database atau webservice. Model juga
merepresentasikan struktur data dari aplikasi yang bisa berupa basis data maupun data lain,
misalnya dalam bentuk file teks, file XML maupun webservice. Biasanya di dalam model akan
berisi class dan fungsi untuk mengambil, melakukan update dan menghapus data website.
Sebuah aplikasi web biasanya menggunakan basis data dalam menyimpan data, maka pada
bagian Model biasanya akan berhubungan dengan perintah-perintah query SQL.
2.View
View berhubungan dengan segala sesuatu yang akan ditampilkan ke end-user. Bisa berupa
halaman web, rss, javascript dan lain-lain. Kita harus menghindari adanya logika atau
pemrosesan data di view. Di dalam view hanya berisi variabel-variabel yang berisi data yang
siap ditampilkan. View dapat dikatakan sebagai halaman website yang dibuat dengan
menggunakan HTML dan bantuan CSS atau JavaScript. Di dalam view jangan pernah ada
kode untuk melakukan koneksi ke basisdata. View hanya dikhususkan untuk menampilkan
data-data hasil dari model dan controller
3.Controller
Controller bertindak sebagai penghubung data dan view. Di dalam Controller inilah
terdapat class-class dan fungsi-fungsi yang memproses permintaan dari View ke dalam
struktur data di dalam Model. Controller juga tidak boleh berisi kode untuk mengakses basis
data karena tugas mengakses data telah diserahkan kepada model. Tugas controller adalah
menyediakan berbagai variabel yang akan ditampilkan di view, memanggil model untuk
melakukan akses ke basis data, menyediakan penanganan kesalahan/error, mengerjakan
proses logika dari aplikasi serta melakukan validasi atau cek terhadap input.