Why need to develop own php framework ?

တကယ်လို့ PHP developer တစ်ယောက်က PHP ကို ကျွမ်းကျင်နေပြီလို့ ယူဆရင်တော့ php framework တစ်ခုလောက် ဆောက်ကြည့်သင့်တယ်။ phpframework တွေက နည်းတာ မဟုတ်ဘူး ဘာလို့ framework ရေးမှာလည်း။ သူများ ရေးထားတာပဲ ယူသုံးမှာပေါ့လို့ ဆိုကောင်းဆိုမယ်။ ဟုတ်ပါတယ်။ http://www.phpframeworks.com/ မှာ ပြထားတဲ့ framework တွေတောင် မနည်းပါဘူး။ ဒါဆိုဘာလို့ ကိုယ်ပိုင် PHP framework ရေးဖို့လိုတာလဲ။ skill and knowledge အတွက်ပါ။

ကိုယ်တိုင်ရေးတဲ့ framework က symfony, cake တို့ နဲ့ ယှဉ်လိုက်ရင် ကလေးသာသာ လိုပဲ ဖြစ်ကောင်းဖြစ်မယ်။ ဒါပေမယ့် ကျွန်တော့်အနေနဲ့ကတော့ အားလပ်ချိန်မှာ ရေးစေချင်တယ်။ PHP ဟာ တော်တော်လေးကို ကျယ်ပြန့်ပါတယ်။ အရမ်းလွယ်တဲ့ Language တစ်ခု ဖြစ်ပေမယ့် ကျယ်ပြန့်ပြီး လူသုံးများတဲ့ language တစ်ခုပါ။ MVC တစ်ခုကို ဘယ်လို တည်ဆောက်ရမလဲ။ ORM ဆိုတာဘာလဲ။ template system တစ်ခုကို တည်ဆောက်ဖို့အတွက် ဘာတွေလိုအပ်မလဲ။ စတာတွေကို ကိုယ်ပိုင် php framework တည်ဆောက်တဲ့အခါမှာ ရလာနိုင်တဲ့ knowledge တွေ skill တွေပါပဲ။

ကိုယ်ပိုင် php framework တည်ဆောက်တဲ့အခါမှာ အစပိုင်းမှာ သုံးလို့မရသေးပေမယ့် နောက်ပိုင်းမှာ သုံးရတာ တော်တော်လေးကို အဆင်ပြေလာပါလိမ့်မယ်။ အခြား  framework တွေကို သုံးပြီးရေးတာထက်စာရင် ကိုယ့် framework ကို သုံးပြီးရေးတဲ့အခါမှာ ရေးရတာ native php ထက် လွယ်ကူလာသလို code နဲ့ ကိုယ် နဲ့ တသားကျသလို မျိုး ခံစားရပါလိမ့်မယ်။ ကိုယ်ဘာလုပ်ချင်လဲဆိုတာကို စဉ်းစားလိုက်တာနဲ့ ဘယ်လို ရေးရမလဲဆိုတာကို စဉ်းစားစရာ မလိုပဲရေးချနိုင်လာပါတယ်။ နောက်ပြီး PHP မှာ များပြားလှတဲ့ function တွေအကြောင်းကို framework ရေးသားရင်းနဲ့ သိရှိလာနိုင်တယ်။ကိုယ်လိုချင်တဲ့ function မျိုး ရှိမလားဆိုပြီး ရှာဖွေရင်း တွေ့ရှိလာတာတွေ ရှိပါတယ်။ ဥပမာ။ segment ဖြတ်တဲ့အပိုင်းတွေပေါ့။ MVC မှာ segment က အရေးပါပါတယ်။

ကိုယ်ပိုင် framework ကို ရေးဖို့အတွက် အနည်းဆုံးတော့ framework ၂ ခု လောက် သုံးဖူးသင့်တယ်။ ဒါမှ ဘာတွေကောင်းတယ်။ ဘာတွေ မကောင်းဘူး။ ကိုယ်နဲ့က ဘယ်လို ပုံစံမျိုးနဲ့ သင့်တော်လဲ။ ကိုယ်ရဲ့ coding style က ဘာလဲ။ ကိုယ် အဓိက အားထားပြီး သုံးတာတွေက ဘာတွေလဲဆိုတာကို သိလာနိုင်ပါလိမ့်မယ်။ framework တစ်ခုတည်းပဲသုံးပြီး ရေးနေရင်တော့ framework ကို ကျွမ်းကျင်ကောင်းကျွမ်းကျင်ပါလိမ့်မယ်။ ဒါပေမယ့် အခြား လှပတဲ့ code nature တွေကို တွေ့ရှိမှာ မဟုတ်တော့ဘူး။ ဥပမာ။။ CodeIgniter သုံးတဲ့အခါ ORM ကို သင်သိတော့မှာ မဟုတ်ဘူး။ Symfony ကို အဓိက အားကိုးပြီး သုံးနေရင်လည်း CodeIgniter က ဘာကြောင့် အရမ်းလွယ်ပြီး လူကြိုက်များနေတာကို နားလည်နိုင်မှာ မဟုတ်ဘူး။ framework တွေဟာလည်း တစ်ခုနဲ့ တစ်ခုရေးသားရပုံတွေ မတူညီကြပါဘူး။အကုန်လုံးမှာတော့ ကောင်းတဲ့ဟာလေးတွေ သဘောကျစရာလေးတွေ တစ်ခု သို့မဟုတ် တစ်ခုထက် ပိုပြီး ပါတတ်ပါတယ်။ ဒါပေမယ့် ကိုယ်နဲ့ သင့်တော်တဲ့ framework တစ်ခုကိုပဲ လက်စွဲသုံးတာ အဆင်ပြေပါလိမ့်မယ်။

ကိုယ်ပိုင် framework ရေးတဲ့အခါ ကိုယ့်ရဲ့လက်စွဲ framework ဟာ ကိုယ့် framework ရဲ့စံပြလို ဖြစ်လာပါတယ်။ ပုံစံ တူချင်မှ တူမယ်။ ဒါပေမယ့် ဆင်သွားမှာတော့ အမှန်ပဲ။ ကျွန်တော့် APIWork ဆိုရင် CodeIgniter နဲ့ တော်တော်ဆင်ပါတယ်။ ဒါပေမယ့် မတူပါဘူး။ ကျွန်တော့် APIWork က အဓိက API library တွေကို အသားပေးထားပါတယ်။ အခြား Library တွေ အများကြီးလည်း မပါသေးဘူး။ အခုမှ MZ 2.0 ရေးရင် တဖြည်းဖြည်း ဖြည့်ပြီး ရေးသားနေပါတယ်။ framework ရေးရင် အခြား framework တွေ ဘယ်လိုရေးထားလဲ။ ဘယ်လို folder structure တွေ ဆောက်ထားလဲ။ ဘာလို့ အဲလို folder structure တွေ ဆောက်ရတာလဲဆိုတာတွေ နားလည်လာလိမ့်မယ်။

နောက်ပြီး ကိုယ်ပိုင်  framework တစ်ခုရှိခြင်းဟာလည်း ကိုယ့်ရဲ့ portfolio အတွက် ကောင်းပါတယ်။ framework တစ်ခုဆောက်တာ ချက်ခြင်းနဲ့ မပြီးသွားပါဘူး။ အချိန် အရှည်ကြီးနဲ့ တမြေ့မြေ့နဲ့ လုပ်ရတာပါ။ အားလပ်ချိန်မှာ လုပ်လို့ကောင်းပြီး ပျော်စရာ ကောင်းပါတယ်။ CMS တစ်ခုကို အားလပ်ချိန်မှာ တည်ဆောက်တာထက် framework တစ်ခုကို တည်ဆောက်တာ ပိုသင့်တော်တယ်။ CMS ဟာ CMS အတွက်ပဲသုံးလို့ရမယ်။ framework ကတော့ CMS လား blog လား  ဘာလာမလဲ။ ကြိုက်တာကို ကိုယ့် fraemwork သုံးပြီး ရေးသားလို့ရပါတယ်။

ကဲ… အားရင် ကိုယ့် framework လေးတစ်ခု ကိုယ့်ဘာသာကိုယ် အပျင်းပြေရေးကြည့်ပေါ့ဗျာ..

3 Comments

  1. MrDBA says:

    ဟုတ်တယ် .. အားပေးပါတယ်။

  2. nainai says:

    ကျွန်တော် အစ်ကိုပြောတာတွေကိုဖတ်ကြည့်တယ် ဒါပေမဲ့ PHP developer တစ်ယောက်မဟုတ်တဲ့
    ကျွန်တော့အတွက် နားမလည်သလိုခံစားရတယ ်ဒါပေမဲ့ စိတ်ဝင်စားပါတယ် အစ်ကို
    ဖြစ်နိုင်ရင် ပြုလုပ်ပုံတွေ အသေးစိတ်တွေကို ပို့စ်တစ်ခုတင်ပေးပါလို့ တောင်းဆိုပါတယ်ဗျ
    ကျေးဇူးပါ

    1. saturngod says:

      PHP developer တစ်ယောက်မှသာ PHP framework ကို ရေးသားနိုင်တာပါ။ Framework တစ်ခုနဲ့ တစ်ခုရဲ့ Folder structure တွေ တည်ဆောက်ပုံမတူဘူး။ ဒါကြောင့် ဘယ်လို ဖန်တီးတယ်ဆိုတာ ပြောပြဖို့ခက်တယ်။ Googling လုပ်ပြီး ကိုယ်လိုချင်တဲ့ ပုံစံကို တစ်ဆင့်ခြင်းဆီ တည်ဆောက်ပုံဖော်ရပါတယ်။ နောက်ပြီး ကိုယ့် လက်စွဲ framework ဟာ ကိုယ် မှီငြမ်း ဖို့အတွက် အများကြီး အထောက်အကူဖြစ်ပါတယ်။

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.