CodeIgniter adalah aplikasi open
source yang berupa framework dengan model MVC (Model, View, Controller) untuk
membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan
developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan
membuatnya dari awal.
Sebelum membahas lebih jauh tentang salah satu
framework PHP ini, mungkin anda ada yang masih bingung apa itu Framework, apa
itu MVC (Model, View, Controller)?
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 pemrograman, 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
Sekarang masuk ke pengertian 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 :
- 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.
- 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.
- 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 merubah 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.
Tidak ada komentar:
Posting Komentar