CodeIgniter merupakan aplikasi sumber terbuka yang berupa framework PHP dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah versi 3.1.8

Framework CodeIginiter :

Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programer, tanpa harus membuat fungsi atau class dari awal.

Ada beberapa alasan mengapa menggunakan Framework:

  • Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  • Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
  • Lebih bebas dalam pengembangan jika dibandingkan CMS.

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, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :

  1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.

Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.

Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,

  • Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
  • Konfigurasi yang sangat minim (nearly zero configuration)  : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu mengubah sedikit saja file pada folder config.
  • 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 user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
  • Dan banyak lagi yang lainnya.

Versi :

VersionRelease datePHP versionNotes
Beta 1.028 Februari 2006
Beta 1.110 Maret 2006
1.221 Maret 2006
1.303 April 2006
1.3.111 April 2006
1.3.217 April 2006
1.3.301 Juni 2006
1.4.017 September 2006>=4.4.1
1.4.121 September 2006
1.5.030 Oktober 2006
1.5.0.131 Oktober 2006
1.5.123 November 2006
1.5.213 Februari 2007
1.5.315 April 2007
1.5.412 Juli 2007
1.6.030 Januari 2008
1.6.112 Februari 2008
1.6.213 Mei 2008
1.6.326 Juni 2008
1.723 Oktober 2008
1.7.110 Februari 2009
1.7.211 September 2009
2.028 Januari 2011>=5.1.6
2.0.115 Maret 2011
2.0.207 April 2011
2.0.320 Agustus 2011
2.1.014 November 2011
2.1.112 Juni 2012
2.1.229 Juni 2012
2.1.308 Oktober 2012
2.1.408 Juli 2013
2.2.02 Juni 2014
2.2.122 Januari 2015CodeIgniter 2.2.1 Released
3.0.030 Maret 2015>=5.2.4CodeIgniter 3.0
2.2.215 April 2015CodeIgniter 2.2.2 Released
2.2.314 Juli 2015CodeIgniter 2.2.3 Released
3.0.17 Agustus 2015
2.2.420 Agustus 2015CodeIgniter 2.2.4 Released
3.0.208 Oktober 2015CodeIgniter 3.0.2 Released
2.2.508 Oktober 2015CodeIgniter 2.2.5 Released
3.0.331 Oktober 2015CodeIgniter 3.0.3 Released
3.0.413 Januari 2016CodeIgniter 3.0.4 Released
Versi terbaru saat ini adalah 3.1.8