Buat yang baru terjun ke dunia programming, mungkin belum banyak tau tentang konsep pemrograman MVC – Model View Controller. Kalo ada yang pernah mendengar konsep pemrograman OOP, nah ini beda jenis dengan itu, sudah beda bidangya.
Sekarang banyak sekali framework2 yang mengadopsi konsep MVC, tidak hanya PHP, pemograman seperti java pun sudah lama menggunakan konsep ini. Dalam batasan ini aku batasin aja, supaya bahasannya ga melebar jauh, jadi cukup konsep pemrograman MVC di framework CodeIgniter.
Sebelum lanjut ke MVC itu sendiri ada baiknya kamu tahu bagaimana sebenernya alur program itu berjalan di konsep pemrograman MVC framework COdeIgniter.
1. index.php berfungsi sebagai controller depan, mnginisialisasi basic resource yang dibutuhkah untuk menjalankan CI.
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. Keamanan, sebelum controller aplikasi di panggil, HTTP request dan data yang dikirim user, di filter untuk alasan keamanan.
5. Controller memanggil model, librari inti , plugin, helper, dan resource lainnya yang di butuhkan untuk memroses request tertentu.
6. View yang sudah 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.
Sekarang kita masuk ke bahasan MVC. MVC itu sendiri adalah konsep pemrograman yang memisahkan pemrograman logic aplikasi dengan presentasinya. Singkatnya, memungkinkan halaman web kamu berisi sedikit sekali skrip PHP karena file presentasi terpisah dengan file skrip PHP. Dan CodeIgniter adalah salah satu framework PHP yang berbasis MVC.
* Model mewakili struktur data kamu. Umumnya kelas model kamu akan berisi fungsi – fungsi yang akan membantu kamu untuk mengambil, insert, dan update data di database kamu.
* View adalah informasi yang disajikan ke user. Sebuah view normalnya adalah sebuah halaman web, namun di CI sebuah view bisa juga menjadi bagian halaman seperti header atau footer. Bisa juga menjadi berbagai jenis “halaman” yang lain.
* Controller berfungsi sebagai penengah antara Model, View dan resource lain yang dibutuhkan untuk memroses HTTP request dan memproduksi sebuah halaman web.
sumber :http://masdeka.web.id/pengertian-mvc-di-codeigniter/