Web Development သည်တိုးတက်လာတာနှင့်အမျှကျွန်တော်တို့တွေမှာလည်းလေ့လာစရာတွေများပြားလာပါတယ်။
Web Technology လို့ပြောလိုက်လျှင်များပြားစွာရှိနေတာကိုတေဎ့ရပါမယ်။ယခုကျွန်တော်ဆွေးနွေးချင်တာက PHP အကြောင်းကိုဆွေးနွေးချင်ပါတယ်။ ကျွန်တော်တို့ကFull Stack Web Development လမ်းကြောင်းကိုသွားချင်တဲ့အခါ Front-End, Backend, Database တွေ Web Serverတွေကိုပါလေ့လာရမှာဖြစ်ပါတယ်။ အဲ့အထဲကနေမှ Backend Programming Language တစ်ခုဖြစ်တဲ့ PHP ကိုခုဆောင်းပါးမှာဖော်ပြပေးချင်ပါတယ်။ဘာလို့ဆိုကျွန်တော်လည်း PHP လေ့လာနေလို့ပါပဲ။ :3
PHP အကြောင်းသေချာမပြောခင်သူ့ရဲ့ History။ လေူအကြောင်းတော့သိသင့်တယ်တယ်။မသိရင်လည်း Wikipedia ကနေကြည့်လို့ရပါတယ်။ ကျွန်တော်လည်းခုပြောပြပါမယ်။ PHP ကို ဒိန်းမတ်ကနေဒါ နိုင်ငံသား Programmar တစ်ဦးဖြစ်တဲ့ Rasmus Lerdorf က C Programming Language ကိုအသုံးပြုပြီးရေးသားခဲ့တဲ့ Programming Language တစ်ခုဖြစ်ပါတယ်။ PHP ရဲ့မူလနာမည်က Personal Home Page ဖြစ်ပါတယ်။ ဘာဖြစ်လို့လဲဆိုရင် သူ့ရဲ့ Website ကိုလာတဲ့ Visitor တွေကို Track လုပ်ဖို့ပဲဖန်တီးခဲ့လို့ဖြစ်ပါတယ်။ ယခုအချိန်မှာတော့ PHP ရဲ့နာမည်က Hypertext Preprocessor ဖြစ်ပါတယ်။ PHP သည် Web Server တွေနဲ့အလုပ်လို့ဖို့အတွက်သီးသန့်ထုတ်ပေးထားတဲ့ Programming Language တစ်ခုနဲ့ဆင်တူပါတယ်။သူ့ရဲ့ Main Target ကလည်း Web Server (eg: Apache,Nginx) တွေနဲ့အလုပ်လုပ်ဖို့ဖြစ်သွားပါတယ်။ PHP ကိုယခုအချိန်မှာဆက်လက်ပြီး PHP Development Team နဲ့ Zend Technologies က Contributor တွေကဆက်ပြီးတော့ Develope လုပ်နေပါတယ်။Maintain တယ်ပေါ့ဗျာ။ PHP ရဲ့Stable Version က 7.4.11 ဖြစ်ပါတယ်။ ယခု PHP 8 ကိုလည်းစမ်းသပ်နေပြီဖြစ်ပါတယ်။ [ PHP8 ကို Production အတွက်အသုံးမပြုသင့်သေးးပါဘူး။ Changlog တွေလည်းများသလို Errors တွေလည်းရှိနိုင်ပါသေးတယ်။ from -> php.net ] PHP ကို Facebook ကနေ Hack Programming အဖြစ်ယခုအသုံးပြုနေပါတယ်။ Php dialect အဖြစ်ပေါ့။ Php ရဲ့ History ကိုတော့အနည်းအကျဉ်းပဲဖော်ပြပေးလိုက်ပါတယ်။ ယခုဆက်ပြီးတော့ PHP ကိုလေ့လာမယ်ဆိုရင်လေ့လာသင့်လားမလေ့လာသင့်ဘူးလားဆိုတာကိုဆက်ပြီးတော့ဆွေးနွေးပါမယ်။ PHP ကို Developer တိုင်းက Weak ဖြစ်တယ်လို့ပြောပါတယ်။ ဟုတ်ပါတယ် Dynamic Weak လို့အစကတည်းကကြေညာထားပြီးဖြစ်ပါတယ်။ PHP က Web Development အတွက် Main Target ထားတဲ့ Scripting language ဖြစ်ပါတယ်။ PHP ကဘာလို့ Weak ဖြစ်တာလဲ? အဖြေက Type System ကြောင့်ပါ။
Computer Programming Language တွေမှသူတို့ရဲ့ ကိုယ်ပိုင် ရေးသားပုံစနစ်ရှိပါတယ်။
Type System မှာ နှစ်ပိုင်းကွဲတယ် Weak နဲ့ Strong ဆိုပြီးတော့။ခုကတော့ Weakအတွက်ပဲပြောပါမယ်။ Weak Programming Language တွေမှာ Developer တွေကိုယ်တိုင်သတ်မှတ်ထားတဲ့ Variable,Syntax ရေးထုံးတွေရှိပါတယ်။ ထို Syntax တွေက Rule ဖြစ်ပါတယ်။ Rule တွေက Loose ဖြစ်နေတဲ့အခါ Runtime မှာ unpredictable ( မခန့်မှန်းနိုင်တဲ့) Result။ တွေ Type Conversion တွေ runtime မှာ implicit ဖြစ်စေလို့ဖြစ်တယ်။ Latin Typing နဲ့လည်းဆက်နွယ်နေပါတယ်။ Latin Typing က Type System တစ်ခုဖြစ်ပြီးတော့ သူ့ရဲ့ type System မှာပါတဲ့ type တွေက value တွေနဲ့ဆက်စပ်ပြီး variable အဖြစ်မဆက်စပ်တာပဲဖြစ်ပါတယ်။ သူ့ပုံစံရေးထားတာ Schema ဖြစ်ပါတယ်။ Schema ကိုယ့်ဘာသာဆက်လေ့လာပါ။
Type System အကြောင်းကို ပိုသိချင်ချင်ရင် https://en.m.wikipedia.org/.../Scheme\_(programming\_language)
ခု လိုမျိုး တွေကြောင့် PHP ရဲ့ရေးထုံးတွေက Weak ဖြစ်နေရတာဖြစ်ပါတယ်။
Dynamic typing ကလည်း Type System ပါပဲ။ Phpမှာလာ်းအသူံးပြုတယ်။ Dynamic Typing ဘယ်လိုအလုပ်လုပ်လဲဆိုရင် Program Runtime မှာ Process ရဲ့ verify လုပ်ထားတဲ့ Type တွေကိုစစ်တယ်။ Run time မှာ run time object တွေကိုစစ်ဆေးပေးတယ်။ ဉပမာ ပေးရရင် reference type တွေ၊ Polymorphism မှာသုံးတဲ့UpCasting , Down casting တွေ ၊ Early Binding, Late Binding,Reflection တွေနဲ့တူတဲ့ဟာတွေအကုန်ဖြစ်တယ်။ အလွယ်ပြောရရင် OO မှာသုံးတဲ့ကောင်တွေ။ အကာန်တော့မဟုတ်ဘူးပေါ့။ PHP က OO ကို Support လလုပ်ကတည်းက Early Binding,Late Binding တွေနဲ့အလုပ်လုပ်တာပါလာတာပဲလေ။
Type System အကြောင်းကို အသေးစိတ်လေ့လာချင်ရင် https://en.m.wikipedia.org/wiki/Type\_system
Php ကဘာလို့ Dynamic Weak ဖြစ်လည်းဆိုတာကို အထက်မှာဖော်ပြပြီးဖြစ်တယ်။ အဲ့တော့ဗျာ ကိုယ်ကအခုမှ လေ့လာမယ့်အရာတွေကိ တစ်ချို့က ဘုမသိဘမသိရမ်းသမ်းပြောတာ ကြောင့် ရောင်လည်လည်ဖြစ်သွားမှာစိုးလို့ Weak နဲ့ Dynamic အကြောင်းကိုဖော်ပြပေးထားတာ။ ဆိုတော့က Weak ဖြစ်ရင်တောင်ဘာလို့ Weak ဖြစ်လဲ ဆိုတာသိမယ်။ တစ် ခြား Programming Language တွေနဲ့ဘာကွာမလဲဆိုတာသိမယ်။ PHP ကိုလေ့လာသင့်လား? Up To You ! ခင်ဗျား စပြီစလေ့လာတဲ့အရာတွေမှာမူတည်တယ်။ ပြီးတော့ ပိုပြီး Friendly ဖြစ်တာကောပါတယ်။ JavaScript ကိုပဲလေ့လာမယ်ဆို MEAN,MERN ပေါ့ဗျာ။ မြန်မာပြည်မှာခေတ်စားနေတယ်လေ။ ဒါပေမဲ့ ပြည်တွင်းရဲ့ Demand က Php နဲ့ Laravel ပေါ်မှာရှိနေတုန်း။ Other Countries ဆိုရင် Japan, Singapore တွေမှာရှိမယ်။ PHP ကိုလေ့လာပြီဆိုရင် ဆိုပါစို့ခင်ဗျားက PHP လေ့လာတော့မယ်ဆိုရင်ဘာတွေလိညအပ်မှာလဲ? အရင်းဆူံးခင်ဗျားလေ့လာခဲ့တာတွေကို ပြန်သုံးသပ်ပါ။ Minimum အနေနဲ့ HTML,CSS, Bootstrap သိရင်ရပြီ။ ကျွန်တော်တော့ Front End ကနေကူးတာဆိုတော့ Design ပိုင်းပါပြောပါမယ်။ Frontend ကိုသေချာပြည့်စုံဖို့ဆိုရင် HTML,CSS,JS, jQuery, Bootstrap လောက်ရရင် စလေ့လာပါ။ Web Development ကိုလေ့လာတယ်ဆိုတာ Roadmap က ရှည်ပါတယ်။ တစ်ခုရရင်လည်းအလုပ်မဖြစ်ဘူး များသောအဖြင့် ပျင်းကြတယ်။ ပျင်းရင်မလေ့လာပါနဲ့။အစမ်းလည်းမလေ့လာပါနဲ့အလုပ်ရှုပ်တယ်။အချိန်ကုန်တယ်။ PHP ကိုစလေ့လာရင် From End မှာလေ့လာဖူးတဲ့ JS ရဲ့ ES5 Concept တွေ Apply လို့ရမယ်။ Syanatx တွေကလည်း လွယ်တယ်။ JS ထက်လွယ်တယ်။ အခြေခံက Beginner ပိုင်းမှာဆိုရင်
OO Basices
ခုအချိန်မှာ Popular အဖြစ်ဆုံးကောင် XD -> Laravel Framwork Top1 MVC Framworkပါပဲ။ သူ့ကိုလေ့လာတော့မယ်ဆိုရင် OO Basic ကရကိုရရမယ်။SQL ကို Table Join တာတွေဘာတွေကိုရရပါမယ်။မရရင် Eloquent တွေ Polymorpic Relation တွေကြရင်ထိပါမယ်။ချိတ်တော့ချိတ်လိုက်တယ်။ဘာတွေမှန်းမသိသလိုမျိုးပေါ့။