Saat ini saya sedang dalam proses mengembangkan kerangka kerja PHP 5.3 HMVC saya sendiri yang disebut Alloy . Karena saya banyak berinvestasi dan dijual di HMVC, saya pikir saya bisa menawarkan sudut pandang yang berbeda, dan mungkin penjelasan yang lebih baik tentang mengapa HMVC harus digunakan dan manfaat yang dihasilkannya.
Manfaat praktis terbesar dari menggunakan arsitektur HMVC adalah "widgetisasi" dari struktur konten. Contohnya bisa berupa komentar, peringkat, Twitter atau blog, tampilan umpan RSS, atau tampilan konten keranjang belanja untuk situs web e-commerce. Ini pada dasarnya adalah sepotong konten yang perlu ditampilkan di beberapa halaman, dan mungkin bahkan di tempat yang berbeda, tergantung pada konteks permintaan HTTP utama.
Kerangka kerja MVC tradisional umumnya tidak memberikan jawaban langsung untuk jenis-jenis struktur konten ini, sehingga orang-orang pada akhirnya akan menduplikasi dan mengubah tata letak, menggunakan bantuan khusus, membuat struktur widget atau file pustaka sendiri, atau menarik data yang tidak terkait dari permintaan utama. Controller untuk mendorong ke View dan merender secara parsial. Tak satu pun dari ini adalah opsi yang sangat baik, karena tanggung jawab memberikan bagian tertentu dari konten atau memuat data yang diperlukan akhirnya bocor ke beberapa area dan mendapatkan duplikat di tempat itu digunakan.
HMVC, atau secara khusus kemampuan untuk mengirim sub-permintaan ke Pengendali untuk menangani tanggung jawab ini adalah solusi yang jelas. Jika Anda berpikir tentang apa yang Anda lakukan, itu cocok dengan struktur Pengontrol tepat. Anda perlu memuat beberapa data tentang komentar, dan menampilkannya dalam format HTML. Jadi Anda mengirim permintaan ke Controller komentar dengan beberapa params, itu berinteraksi dengan Model, memilih Tampilan, dan Tampilan menampilkan konten. Satu-satunya perbedaan adalah Anda ingin komentar yang ditampilkan sebaris, di bawah artikel blog yang dilihat pengguna alih-alih halaman komentar lengkap yang sepenuhnya terpisah (meskipun dengan pendekatan HMVC, Anda sebenarnya dapat melayani permintaan internal dan eksternal dengan pengontrol yang sama dan "mematikan dua burung dengan satu batu ", seperti kata pepatah). Dalam kasus ini, HMVC benar-benar hanya produk sampingan alami dari berjuang untuk peningkatan modularitas kode, dapat digunakan kembali, dan mempertahankan pemisahan masalah yang lebih baik. INI adalah titik penjualan HMVC.
Jadi, sementara artikel TechPortal Sam de Freyssinet tentang penskalaan dengan HMVC menarik untuk dipikirkan, bukan di mana 90% orang yang menggunakan kerangka kerja HMVC akan mendapatkan manfaat nyata, praktis, sehari-hari darinya.