CodeIgniter adalah sebuah web framework yang
dikembangkan oleh Rick Ellis dari Ellis Lab. CodeIgniter dirancang untuk
menjadi sebuah web framework yang ringan dan mudah untuk digunakan. Bahkan
pengakuan dari Rasmus Lerdorf, pencipta bahasa pemrograman PHP, mengatakan
bahwa CodeIgniter merupakan web framework mudah dan handal.
Sebelum
mencoba CodeIgniter, perlu diketahui istilah web framework itu sendiri. Menurut
Microsoft Computer Dictionary, web
adalah sekumpulan dokumen yang saling terhubung dalam sistem hypertext yang
penggunanya akan menjelajahi web melalui halaman beranda. Sedangkan
framework adalah desain struktur dasar yang
dapatd digundakan kembali (reusebale) yang terdiri dari abstract class dan
concrete class di pemrograman berorientasi objek.
Menurut
dokumentasi CodeIgniter, CodeIgniter merupakan toolkit bagi orang yang ingin membangun
aplikasi web menggunakan PHP. Tujuannya adalah membuat pengembangan proyek menjadi
lebidh cepat dibandingkan dengan menulis kode dari awal (scratch). CodeIgniter
menyediakan
kumpulan library untuk tugas – tugas yang sering dilakukan (commonly needed
task) dan sangat mudah undtuk mengakses library yang tersedia di CodeIgniter. Dengan
menggunakan CodeIgniter, kita cukup fokus pada pengembangan projek dan
meminimalisir jumlah kode yang akan ditulis.
Sebagai
web framework yang populer yang menggunakan bahasa pemrograman PHP, CodeIgniter
mempunyai berbagai keunggulan seperti yang disebutkan di dokumentasinya:
- Free, karena berada dibawah lisensi open source mirip Apache/BSD, kita dapat melakukan apapun dengan CodeIgniter. Lisensi lengkapnya dapat dilihat di halaman dokumentasi
- Light Weight, sistem inti CodeIgniter memerlukan library yang sedikit. Berbeda sekali dengan framework lainnya yang membutuhkan banyak sumber daya tambahan. Library tambahan akan digunakan ketika request secara dinamis, membuat sistem yang dibangun menjadi efisien dan cukup cepat.
- Fast, menurut dokumentasi, performa yang dimiliki CodeIgniter terbukti cepat setelah dibandingkan dengan web framework lainnya.
- Menggunakan kaidah M-V-C, Dengan menggunakan Model-View-Controller, kita dapat memisahkan bagian logic dan presentation dari aplikasi yang kita bangun. Hal ini tentu sangat cocok dan bagus untuk proyek yang memfokuskan desainer fokus pada template file dan programmer fokus pada pembangunan logic dari aplikasi yang dibangun.
- Menghasilkan URL yang bersih, URL yang dihasilkan oleh CodeIgniter bersih dan ramah terhadap mesin pencari. CodeIgniter menggunakan pendekatan segment-based dibandingkan dengan query string yang biasa digunakan oleh programmer yang tidak menggunakan web framework. Berikut adalah contoh URL yang dihasilkan CodeIgniter: http://localhost/ci/post/123.
- Packs a Punch, CodeIgniter hadir dengan berbagai library yang akan membantu tugas-tugas di pengembangan web yang sudah umum dan sering dilakukan seperti mengakses database, mengirim email, validasi data dari form, mengelola session, manipulasi gambar, bekerja dengan XML-RPC dan masih banyak lagi.
- Extensible, kita dapat menambahkan library atau helper yang kita ciptakan sendiri ke dalam CodeIgniter. Selain itu kita dapat juga menambahkan fitur lewat class extension atau system hooks.
- Thoroughly Documented, hampir semua fitur, library, dan helper yang ada di CodeIgniter telah terdokumentasi dengan lengkap dan tersusun dengan baik. Ketika mendapatkan unduhan CodeIgniter, dokumentasinya sudah tersedia dan siap digunakan.
- Mempunyai komunitas yang ramah, komunitas CodeIgniter sangat ramah dan siap membantu pengguna CodeIgniter pemula atau yang sudah mahir. Komunitasnya dapat ditemui di : http://codeigniter.com/forums/
Untuk
mendukung pengembangan aplikasi yang kokoh, Code Igniter memiliki fitur – fitur
seperti
berikut:
1.
Model-View-Controller Based System
2. PHP
4 Compatible
3.
Sangat ringan
4.
Fitur lengkap untuk beberapa engine database.
5.
Active Record
6. Form
dan validasi data
7.
Keamanan dan XSS filtering
8.
Session Management
9.
Email Sending Class. Supports Attachments, HTML/Text email, multiple protocols
(sendmail,
SMTP, dan Mail) dan lainnya
10.
Image Manipulation Library (cropping, resizing, rotating, dsb.). Mendukung GD,
ImageMagick,
dan NetPBM
11.
File Uploading Class
12. FTP
Class
13.
Localization
14.
Pagination
15.
Data Encryption
16.
Benchmarking
17.
Full Page Caching
18.
Error Logging
19.
Application Profiling
20.
Scaffolding
21.
Calendaring Class
22.
User Agent Class
23. Zip
Encoding Class
24.
Template Engine Class
25.
Trackback Class
26. XML-RPC
Library
27.
Unit testing class
28.
Search-engine friendly URLs
29. URI
routing yang fleksibel
30.
Mendukung hooks, class extension dan plugins
31. Pustaka helper yang lengkap
Baca
juga Cara Kerja CodeIgniter
silahkan
berikan masukannya di kolom komentar yang terdapat dibawah. Supaya saya bisa
terus belajar untuk memberikan yang terbaik di blog ini. Jika kawan-kawan
merasa artikel ini bermanfaat silahkan mengklik tombol share yang terletak di
bawah. Dan jika kawan-kawan ingin mendapatkan artikel kami secara real time,
silahkan masukkan alamat email Anda di kolom Subscribe, Terima kasih.