Introduction of Codeigniter
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.
According 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 dapat digunakan kembali (reusable) yang terdiri dari abstract
class dan concreate 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 lebih cepat
dibandingkan dengan menulis kode dari awal (scratch).
CodeIgniter menyediakan kumpulan library untuk
tugas-tugas yang sering dilakukan (Commonly
needed task) dan sangat mudah untuk mengakses library yang tersedia di CodeIgniter. Dengan menggunakan
CodeIgniter, kita cukup focus 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, dapat melakukan apapun dengan CodeIgniter.
- 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, programmer dapat memisahkan bagian logic dan presentation dari aplikasi yang di bangun.
- 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 .
- 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 mengembangkan library atau helper yang kita ciptakan sendiri ke dalam CodeIgniter. Selain itu kita dapat juga menambahkan fitur lewat class extention 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.
CI adalah sebuah Framework yg menggunakan Teknik MVC (Model View Controller ) merupakan teknik pemrograman yang populer saat ini , yang mengharapkan pemrogram secara disiplin untuk membagi program menjadi 3 bagian : model , view, dan Controller . Berikut adalah gambaran dari sebuah MVC
Gambar diatas merupakan Sebuah Arsitektur dari sebuah MVC,
CI adalah salah saru framework pemrograman PHP yang dapat mengimplementasi teknik pemrograman MVC. Berikut ini adalah flowchart Bagaimana CI mengimplementasi MVC.
- index.php berperan atau berlaku sebagai controller di depan , yang menginisialisasi sumber daya yang dibutuhkan untuk menjalankan CodeIgniter.
- Router akan memeriksa request HTTP untuk menentukan apa yang harus dilakukan dengan request tersebut
- Jika ada file cache , maka file cache tersebut langsung dikirim kepada browser, dengan memotong eksekusi sistem normal
- keamanan , sebelum suatu aplikasi controller dipanggil , request HTTP dan data yang dikirim oleh user disaring (filter) terlebih dahulu untuk keamanan
- controller akan memuat model , library , helper , dan sumber daya lainnya yang diperlukan untuk memproses request tersebut
- View , dirender kemudian dikirimkan kepada browser untuk dilihat . jika caching didefinisikan , maka view akan di cache terlebih dahulu , setelah itu dikirimkan kepada browser .


0 comments:
Post a Comment