CodeIgniter
Design Patern: MVC (Model, View, Controller)

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, antarmuka pengguna, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu pola MVC dalam suatu aplikasi yaitu:[butuh rujukan]
View, merupakan bagian yang menangani logika presentasi. Pada suatu aplikasi web bagian ini biasanya berupa berkas templat HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada pengguna. Bagian ini tidak memiliki akses langsung terhadap bagian model.
Model, biasanya berhubungan langsung dengan pangkalan data untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, tetapi tidak dapat berhubungan langsung dengan bagian view.
Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima permintaan dan data dari pengguna kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan pengembangnya, yaitu pemrogram yang menangani bagian model dan controller, sedangkan desainer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan pemeliharaan dan pengorganisasian kode. Walaupun demikian dibutuhkan komunikasi yang baik antara pemrogram dan desainer dalam menangani variabel-variabel yang akan ditampilkan.
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan kerangka kerja PHP lain,[butuh rujukan]
Performa sangat cepat: salah satu alasan tidak menggunakan kerangka kerja adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi CodeIgniter sangat cepat bahkan mungkin bisa dibilang CodeIgniter merupakan kerangka kerja yang paling cepat dibanding kerangka kerja yang lain.[butuh rujukan]
Konfigurasi yang sangat minim (nearly zero configuration): tentu saja untuk menyesuaikan dengan pangkalan data dan keleluasaan perutean tetap diizinkan melakukan konfigurasi dengan mengubah beberapa berkas konfigurasi seperti database.php atau autoload.php, tetapi untuk menggunakan CodeIgniter dengan pengaturan yang standar, Anda hanya perlu mengubah sedikit saja berkas pada folder config.[butuh rujukan]
Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
Dokumentasi yang sangat lengkap: setiap paket instalasi CodeIgniter sudah disertai panduan pengguna yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
Berukuran sangat kecil: source code sangat kecil. Dan sudah include dokumentasinya yang sangat lengkap.
Sangat mudah diintegrasikan: CodeIgniter sangat mengerti tentang pengembangan berbagai library saat ini. Karenanya CodeIgniter memberikan kemudahan untuk diintegrasikan dengan library-library yang tersedia saat ini.
Mudah dipelajari: disamping dokementasi yang lengkap, ia juga memiliki berbagai forum diskusi.