Implementasi HMVC di Codeigniter dengan Cibonfire

18 April 2014
Cibonfire merupakan sebuah paket aplikasi "siap-pakai" yang dibuat berdasarkan framewok PHP, Codeigniter. Istilah "siap-pakai" yang saya gunakan di sini bukan berarti bahwa Cibonfire adalah CMS (Sistem Manajemen Isi) seperti Wordpress atau Joomla yang dapat langsung kita unggah ke server dan di-online-kan.

Cibonfire mengharuskan penggunanya mengetahui bahasa pemrograman PHP di samping, tentunya, akrab pula dengan Codeigniter. Dari segi ini, Cibonfire dapat dikatakan sebagai framework di dalam framework yang dibuat untuk memudahkan para pemrogram PHP yang hendak membangun aplikasi berdasarkan Codeigniter.

Sekilas tentang HMVC

Sama halnya dengan Codeigniter, Cibonfire pun bersifat open source. Namun dari segi pendekatan pemrograman, Cibonfire berada beberapa langkah di depan induknya, yakni dengan diimplementasikannya HMVC (Hierarchical Model-View-Controller).

HMVC merupakan varian MVC (Model-View-Controller) yang dapat memecahkan persoalan-persoalan yang tidak dapat diatasi jika menggunakan MVC seperti yang digunakan Codeigniter. Dengan pendekatan HMVC ini, Codeigniter menjadi lebih modular. Setiap fungsi dapat disimpan ke dalam modul-modul terpisah dan mandiri, tetapi tetap dapat saling berkomunikasi. Modul-modul ini dapat Anda umpamakan dengan wijet di Wordpress, modul di Joomla, atau gajet di Google Blogger.

Dengan pendekatan HMVC ini, pengelolaan aplikasi dapat jauh lebih efektif dan mudah dilakukan. Ketika kita menemukan satu atau lebih fungsi yang tidak berjalan semestinya, kita dapat memeriksa masing-masing modul tanpa perlu khawatir akan merusak aplikasi secara keseluruhan.

Sebuah PC dengan berbagai bagiannya merupakan salah satu analogi yang tepat untuk menjelaskan HMVC ini. Dalam sebuah PC terdapat hard disk, processor, RAM, VGA, dan sebagainya. Jika suatu ketika PC tidak berfungsi, kita bisa mulai memeriksa kerusakan pada bagian hard disk. Jika ternyata bagian ini yang mengalami kerusakan, kita tinggal memperbaikinya atau menggantinya dengan yang baru, dan PC pun kembali berfungsi seperti biasa tanpa perlu khawatir dapat mengganggu kinerja bagian-bagian lainnya.

Struktur Berkas File Cibonfire

Secara umum, struktur berkas file Cibonfire tidak jauh berbeda dengan Codeigniter. Yang membedakan adalah adanya berkas bernama bonfire yang di dalamnya terdapat berkas modules. Dalam berkas modules inilah kita akan menemukan berkas-berkas lain yang diberi nama sesuai dengan fungsinya. Di antaranya adalah berkas bernama users yang berfungsi untuk melihat, menyunting, menambah, serta menghapus data pengguna aplikasi yang kita buat.

Di dalam berkas users ini terdapat sub-sub berkas dengan struktur yang sama dengan struktur berkas application pada Codeigniter, seperti berkas config, models, controllers, views, serta libraries.

Jadi, jika kita menggunakan Codeigniter biasa, berkas users ini umumnya kita simpan pada berkas application/controllers dan atau application/models untuk akses datanya jika menggunakan database. Tetapi dengan HMVC yang diimplementasikan Cibonfire, masing-masing berkas dapat memiliki controllers, models, views, bahkan helpers, dan libraries masing-masing.

Masing-masing modul memang tidak harus selalu menyertakan semua berkas tersebut. Satu modul bisa hanya memiliki berkas controllers, models, dan views, sedangkan modul yang lain hanya memiliki berkas libraries. Ini semua tergantung pada kebutuhan dan tugas masing-masing modul.

Kelebihan-kelebihan Cibonfire

Cibonfire memang bukan CMS seperti yang saya utarakan di atas, tapi Cibonfire dilengkapi dengan sejumlah modul yang membuat pekerjaan Anda sebagai pembuat aplikasi berbasisi Codeigniter benar-benar mudah.

Berikut adalah beberapa keunggulan Cibonfire:
  1. Implementasi HMVC (Hierarchical Model-View-Controller).
  2. Autentikasi pengguna. Dengan autentikasi ini, kita tidak perlu lagi membuat atau mencari library autentikasi untuk diintegrasikan ke Codeigniter, seperti Tank Auth atau Ion Auth. Cibonfire telah dilengkapi autentikasi ini beserta kewenangan atau hak akses masing-masing pengguna.
  3. Halaman admin. Cibonfire dilengkapi pula dengan halaman admin, atau dasbor dalam istilah Wordpress, yang memudahkan kita mengelola aplikasi yang dibuat. Pada halaman admin ini, kita dapat melihat aktifitas pengguna, menambah pengguna, menonaktifkan pengguna, serta mengoptimalkan dan mem-back-up database.
  4. Twitter Bootstrap. Tampilan desain Cibonfire telah menggunakan Twitter Bootstrap (versi 2), sebagai salah satu framework CSS popular saat ini.

Unduh Cibonfire

Ketika tulisan ini dibuat, Cibonfire dirilis dengan versi 0.7, dan menurut situs resminya, telah di-install sebannyak 4.150 kali di server yang umumnya menggunakan PHP versi 5 ke atas dengan MySQL sebagai basis datanya sejak Oktober 2013 (lihat selengkapnya di halaman About.

Untuk mengunduh Cibonfire ini, silakan kunjungi situs resminya di cibonfire.com.

Jika Anda terbiasa membuat aplikasi PHP menggunakan Codeigniter sebagai kerangka acuan, maka Anda pasti tidak akan mengalami kesulitan berarti menggunakan Cibonfire ini. Dan jika Anda menyukai Codeigniter, pasti Anda akan menyukai pula Cibonfire ini.

Semoga bermanfaat.