CodeIgniter @ Zack and HMVC
PHP Framework တွေ စလေ့လာတော့ ကျွန်တော်က CI ထက် cakePHP ကို လုပ်ဖြစ်ပါတယ်။ ဒါပေမယ့် ခုချိန်မှာ ကျွန်တော် CI ဖက် ပြန်လှည့် ရတော့မယ် သဘောလည်း ရှိနေပါတယ်။ CI Community က ပိုပြီးကြီးလာသလို HMVC လို နည်းပညာအသစ်ကလည်း CI တစ်ခုတည်းမှာပဲ ရနိုင်နေတာ တွေ့ရပါတယ်။ ဒါကြောင့် MVC နဲ့ တစ်ချို့ကိစ္စတွေ မနိပ်တော့တဲ့ အချိန်မှာ HMVC ကို သုံးချင်တယ်ဆိုရင် CI ကို သုံးမှာ အဆင်ပြေမယ့် အနေအထားမှာ ရှိပါတယ်။ ကျွန်တော်အခု Zack ရေးထားတဲ့ CodeIgniter and MVC for Beginners ဆိုပြီး စထားတဲ့ အခြေခံကနေ စပြီး လေ့လာမယ့် သူတွေအတွက် အဆင်ပြေစေနိုင်မယ့် ပို့စ် တွေကို ညွှန်းချင်ပါတယ်။ တစ်ခါတည်း HMVC ကိုလည်း မိတ်ဆက် ပေးသွားချင်ပါတယ်။

Zack ရေးထားတဲ့ ပို့စ်တွေက Beginner တွေအတွက် ခုမှစပြီး CodeIgniter ကို လေ့လာမယ့်သူတွေအတွက် အရမ်းကို အသုံးဝင်ပါတယ်။ တကယ့်ကို စေတနာထားပြီး ပြည့်ပြည့်စုံစုံ ရှင်းပြထားပါတယ်။ ကျွန်တော်တို့အနေနဲ့ Learning Curve ကို ချုံ့နိုင်သမျှ ချုံ့နိုင်ဖို့အတွက် အကောင်းဆုံး ကတော့ Resources တွေ များနိုင်သမျှ များအောင် စုနိုင်ဖို့ ဖြစ်ပါတယ်။ Beginner တွေအတွက် စလေ့လာဖို့ဆိုတာ တစ်ခါတည်း English Version တွေကို တန်းလေ့လာဖို့ မလွယ်သေးတဲ့ အနေအထားမှာ ရှိပါတယ်။ ဒါကြောင့် ခုလို မြန်မာလို ရေးထားတာတွေ ဖတ်ရတော့ အင်မတန် အကျိုးကျေးဇူး များစေပါတယ်။ လေ့လာဖြစ်အောင် လေ့လာလိုက်ပါလို့ တိုက်တွန်းလိုက်ရပါတယ်။
- CodeIgniter and MVC For Beginner
- Structure and Configuration of CodeIgniter
- CodeIgniter Database Library
- CodeIgniter Form Helper
- Simple Data Entry in CodeIgniter
Zack ရဲ့ ပို့စ်တွေကို ညွှန်းရင်း HMVC ကိုလည်း မိတ်ဆက် တစ်ခါတည်း ပေးသွားချင်ပါတယ်။
HMVC ဘယ်ကစ
HMVC ကို Javaworld ကနေ မိတ်ဆက်ပေးပြီး စတင်ခဲ့တယ်လို့ သိရပါတယ်။ MVC ရဲ့ Evolution အနေနဲ့ ထွက်ပေါ်လာတာ ဖြစ်ပြီး Revolution မဟုတ်တဲ့အတွက် လုံးဝဇောက်ထိုး ပြောင်းပြန် ပြောင်းလဲ သွားတာမျိုး မဟုတ်ပဲ MVC ကို ထပ်တိုးတန်ဖိုးတွေ ပေါင်းထည့်ထားတဲ့ သဘောဖြစ်ပါတယ်။ HMVC ဆိုတာ Hierarchical Model View Controller ရဲ့ အတိုကောက်ပါ။ MVC ရှေ့မှာ Hierarchical ပေါင်းထည့် လိုက်တာပါ။
HMVC ဘာကြောင့် ဖြစ်လာရသလဲ
အရှင်းဆုံး အဖြေကတော့ MVC နဲ့ မလုံလောက်တော့လို့ ဆိုရမှာ ဖြစ်ပါတယ်။ အဓိကအားဖြင့် GUI Elements (Widgets) တွေကို Control လုပ်တဲ့နေရာမှာ MVC က အားနည်းချက်တွေ ရှိလာပါတယ်။ MVC အနေနဲ့ ရှုပ်ထွေးတဲ့ Data Management တွေ Event Management တွေ Application Flow တွေကို ကိုင်တွယ်ရာမှာ အားနည်းချက်တွေ ရှိနေပါတယ်။ ဒါကြောင့် နောက်ထပ် Paradigm တစ်ခုဖြစ်တဲ့ HMVC ကို လိုအပ် လာတာ ဖြစ်ပါတယ်။
HMVC ဆိုတာ ဘာလဲ
HMVC ဆိုတာ ကျွန်တော် ပြောခဲ့သလို Another Evolution of MVC ပါပဲ။
Picture Credited to tutsplus.com
HMVC ကို ဘာကြောင့် သုံးသင့်သလဲ
HMVC ရဲ့ အားသာချက်တွေကတော့
- Modularization - Application ရဲ့ မတူညီတဲ့ အစိတ်အပိုင်းတွေ တစ်ခုနဲ့ တစ်ခု မှီခိုနေတာတွေကို လျော့ချနိုင်ပါတယ်။
- Organization - သီးခြား Folder တစ်ခုစီနဲ့ သင့်တော်တဲ့ Triads Marks တွေနဲ့ ချိတ်ထားတဲ့ အတွက် Work load ကို ပေါ့သွားစေပါတယ်။
- Reusability -Design ရဲ့ သဘာဝအရ ဘယ်လို code ကို မဆို ပြန်သုံးလို့ရပါတယ်။
- Extendibility -ထိန်းရသိမ်းရခက်တာမျိုး မဖြစ်စေပဲ ထပ်ချဲ့လို့ လွယ်ကူစေပါတယ်။
CodeIgniter အတွက် HMVC Extension ကို လိုချင်ရင်တော ဒီမွာ သွားယူနိုင်ပါတယ်။ Tutorials တွေကတော့ net.tutsplus မှာ ရှိပါတယ်။
(Zack က CodeIgniter နဲ့ ပတ်သက်ပြီး နောက်ထပ် ပို့စ်အသစ် တင်တဲ့အတွက် ထပ်ဖြည့်ထားပါတယ်။ နောက် အသစ်တင်တိုင်းလည်း ထပ်ဖြည့်ပေးသွားမှာ
Facebook comments:



ကျွန်တော် CodeIgniter Form Helper ဆက်ရေးထားပါတယ်။ အကို Post မှာ link ထည့်လို့ရအောင် လာပြောတာပါ။
http://www.zack-notes.net/joomzack15/codeigniter/codeigniter-form-helper.html
ဟုတ် ကျွန်တော် ထပ်ပေါင်းထည့်လိုက်မယ်ဗျ … ကျေးဇူး
ကိုသီဟရေ ကျွန်တော် CI data entry sample လေးရေးထားတယ်ဗျာ။ link ထည့်လို့ရအောင်ပါ အကို။
http://www.zack-notes.net/joomzack15/codeigniter/simple-data-entry-in-codeigniter.html
[...] တည်ဆောက်ထားပါတယ်။ HMVC အကြာင်းကို ဒီနေရာမှာ လေ့လာနိုင်ပါတယ်။ HMVC Pattern [...]