HMVC singkatan dari Hierarichal Model View Controller adalah pengembangan dari konsep MVC (Model View Controller) yang diimplementasikan secara hierarkis, sehingga disetiap module memiliki MVC sendiri atau tidak. Berikut ini adalah perbedaan struktur MVC dan HMVC:
- Struktur MVC
- applications/
- controllers/
- models/
- views/
- applications/
- Struktur HMVC
- applications/
- modules/
- user/
- models/
- views/
- controllers/
- salesorder
- models/
- views/
- controllers/
- user/
- modules/
- applications/
Didalam folder modules terdapat user dan salesorder, didalamnya terdapat folder models, views dan controllers, seperti inilah konsep HMVC.
Beberapa kelebihan dari HMVC adalah
- Adanya konsep modular, sehingga lebih mudah ketika membuat aplikasi yang besar dan dibagi menjadi modul-modul kecil.
- Lebih mudah saat pengembangan dan maintenance (perawatan).
- Teamwork dan pembagian kerja lebih mudah dan ringan.
Artikel sebagai catatan kami saat melakukan konfigurasi HMVC di framework PHP Codeigniter versi 3. Untuk mendownload Codeigniter 3 ada disini dan untuk mendownload HMVC extension ada disini.
Berikut langkah-langkah Konfigurasi HMVC untuk Codeigniter 3 :
- Ekstrak framework Codeigniter 3 dan pindahkan ke webroot folder, untuk LAMP di ubuntu server 14.04 ada di /var/www/html/. Dan dengan nama folder ci3, sehingga ketika diakses dari web browser alamat web menjadi http://localhost/ci3/.
- Ekstrak HMVC Extention. Hasil ekstrak extenstion terdapat folder core dan third_party.
- Masukkan core dan third_party kedalam folder applications milik Codeigniter 3 sehingga struktur folder applications menjadi seperti ini:
- applications/ -- core/ ---- MY_Loader.php ---- MY_Router.php -- third_party/ ---- MX/ ------ Base.php ------ Ci.php ------ Config.php ------ Controller.php ------ Lang.php ------ Loader.php ------ Modules.php ------ Router.php
- Konfigurasi HMVC sudah dilakukan selanjutnya kita lakukan test apakah sudah bisa digunakan atau tidak.
Berikut langkath-langkah Tes HMVC untuk Codeigniter 3:
- Buatlah folder modules di dalam folder applications.
- applications/ -- core/ -- third_party/ -- modules/
- Selanjutnya didalam folder modules buat folder test, kemudian didalam folder test buatlah tiga folder masing-masing dengan nama models, views, dan controllers.
- applications/ -- core/ -- third_party/ -- modules/ --- test/ ---- models/ ---- views/ ---- controllers/
- Di dalam folder controllers buatlah file controller dengan nama calass Test.php dengan isi file sebagai berikut:
class Test extends CI_Controller{ public function __construct() { parent::__construct(); } public function index() { echo "<h1>Tes Konfigurasi HMVC</h1>"; echo "<p>Modul ini adalah modul HMVC pertama saya</p>"; echo "<p>Lokasi file ada di applications/modules/test/controllers/Test.php</p>"; } }
- Tes class Test dengan mengaksesnya di web browser dengan alamat http://localhost/ci3/index.php/test. Jika nama file controller dan nama folder sama maka saat mengaksesnya hanya menggunakan nama folder.
- Jika pada web browser ditamplikan seperti hasil dibawah maka tes dan konfigurasi HMVC untuk Codeigniter 3 telah berhasil.
<h1>Tes Konfigurasi HMVC</h1>
<p>Modul ini adalah modul HMVC pertama saya</p>
<p>Lokasi file ada di applications/modules/test/controllers/Test.php</p>
Di internet sudah banyak artikel seperti yang kami tulis ini, kami hanya sekedar berbagai dari pengalaman kami saat mengkonfigurasi HMVC untuk Codeigniter 3.
Semoga Bermanfaat.