Web Development တွင်အသုံးပြုသောပရိုဂရမ်းမင်းဘာသာစကားကိုကျယ်ကျယ်ပြန့်ပြန့်သောစာသင်ခန်းတစ်ခုအနေဖြင့်အတန်းအစားသည်အရေးပါသော Oreiented programming (oop) အယူအဆဖြစ်သည်။ PHP အတန်းအစားကိုမှန်ကန်သောအသုံးပြုမှုသည်ကုဒ်၏ထိန်းသိမ်းမှုကိုတိုးတက်အောင်မလုပ်နိုင်ပါ။
ရိုးရှင်းတဲ့ဥပမာတစ်ခုနဲ့စကြစို့။ တိရိစ္ဆာန်တွေကိုကိုယ်စားပြုတဲ့အတန်းကိုသတ်မှတ်ဖို့လိုတယ်ဆိုပါစို့။ ဤအတန်းတွင်ကျွန်ုပ်တို့သည်တိရိစ္ဆာန်အမည်နှင့်မျိုးစိတ်များ၏ဂုဏ်သတ္တိများကိုသတ်မှတ်ပြီးဤ attribute များအတွက်သက်ဆိုင်ရာအသုံးပြုနိုင်သည့်နည်းလမ်းများကိုပေးလိမ့်မည်။
class Animal {
public $name;
public $type;
public function __construct($name, $type) {
$this->name = $name;
$this->type = $type;
}
public function setName($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
public function setType($type) {
$this->type = $type;
}
public function getType() {
return $this->type;
}
}
အထက်ပါကုဒ်သည်တိရိစ္ဆာန်ဟုခေါ်သောအတန်းအစားကိုသတ်မှတ်ပြီးတိရိစ္ဆာန်အမည်နှင့်မျိုးစိတ်များပါ 0 င်သည်။ ထို့အပြင်၎င်းတွင်ဤဂုဏ်သတ္တိများကို သတ်မှတ်. ရယူနိုင်သည့်သက်ဆိုင်ရာနည်းလမ်းများလည်းပါဝင်သည်။ နောက်တစ်ခုကတိရစ္ဆာန်အရာဝတ်ထုတစ်ခုကိုဖန်တီးပြီးနည်းလမ်းတွေကတဆင့်လည်ပတ်တယ်။
$dog = new Animal('Dog', 'Mammal');
echo 'Name: ' . $dog->getName() . '<br>';
echo 'Type: ' . $dog->getType() . '<br>';
$dog->setName('Cat');
echo 'Updated Name: ' . $dog->getName() . '<br>';
အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည်အရာဝတ်ထုများကိုမည်သို့ဖန်တီးရမည်နှင့်သူတို့၏ဂုဏ်သတ္တိများကိုရယူရမည်ကိုသရုပ်ပြသည်။ အဆိုပါကုဒ်သည်ရှင်းရှင်းလင်းလင်းနားလည်ရန်လွယ်ကူပြီးလွယ်ကူစွာထိန်းသိမ်းရန်နှင့်လွယ်ကူချောမွေ့စေရန်လွယ်ကူသည်။
အခြေခံဂုဏ်သတ္တိများနှင့်နည်းလမ်းများအပြင် PHP ၏အတန်းအစားသည်အမွေနှင့် polymorphism ကဲ့သို့သောအရာဝတ်ထု ဦး တည်ပရိုဂရမ်းမင်း၏အဓိကအယူအဆများကိုထောက်ခံသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ယခင်တိရိစ္ဆာန်အတန်းကိုတိုးချဲ့။ ခွေးဟုခေါ်သော subclass တစ်ခုဖန်တီးပြီးမိဘအတန်း၏နည်းလမ်းကို override လုပ်ပါ။
class Dog extends Animal {
public function bark() {
return 'Woof! Woof!';
}
}
ဤဥပမာတွင်ခွေးအတန်းသည်တိရိစ္ဆာန်အတန်း၏ဂုဏ်သတ္တိများနှင့်နည်းလမ်းများအားလုံးကိုအမွေဆက်ခံပြီးခွေး၏အခေါက်ကိုကိုယ်စားပြုရန်နည်းလမ်းသစ်များ () အခေါက်အသစ်တစ်ခုကိုထည့်သည်။ ခွေးအရာဝတ်ထုတစ်ခုကိုဖန်တီးပြီးနည်းလမ်းတစ်ခုကိုခေါ်ပါ။
$goldenRetriever = new Dog('Golden Retriever', 'Mammal');
echo 'Name: ' . $goldenRetriever->getName() . '<br>';
echo 'Type: ' . $goldenRetriever->getType() . '<br>';
echo 'Bark: ' . $goldenRetriever->bark() . '<br>';
အမွေနှင့် polmorphism ဖြင့်ခွေးအတန်းအစားသည်တိရိစ္ဆာန်အတန်း၏လုပ်ဆောင်မှုအားလုံးကိုအမွေဆက်ခံရုံသာမကလိုအပ်သည့်အတိုင်း၎င်း၏ကိုယ်ပိုင်ထူးခြားသည့်အပြုအမူများကိုလည်းတိုးချဲ့ရန်လည်းမဟုတ်ပါ။
ကြီးမားသော PHP စီမံကိန်းများတွင် Class Files အမြောက်အများကိုစီမံခန့်ခွဲရန်အတွက် PHP ၏ namespace နှင့်အလိုအလျောက်တင်ထားသောလုပ်ဆောင်ချက်များကိုအသုံးပြုနိုင်သည်။ တေးရေးဆရာကဲ့သို့သောကိရိယာများကိုပေါင်းစပ်ခြင်းသည်စီမံကိန်း၏အဖွဲ့အစည်း၏ဖွဲ့စည်းမှုကိုပိုမိုကောင်းမွန်စေနိုင်သည်။
PHP အတန်းအစား၏အသုံးပြုမှုကိုကျွမ်းကျင်မှုသည် Code ထိန်းသိမ်းမှုကိုတိုးတက်စေရန်အရေးကြီးသောခြေလှမ်းတစ်ခုဖြစ်သည်။ ဆင်ခြင်တုံတရားဆိုင်ရာအဆောက်အအုံများကိုပြင်ဆင်ခြင်းနှင့်အရာဝတ်ထုကို ဦး စားပေးသောအမွေနှင့် polymorphic အင်္ဂါရပ်များကိုအသုံးချခြင်းဖြင့်ကုဒ်သည်ပိုမိုကျယ်ပြန့်စွာနှင့်ပြုပြင်ရန်လွယ်ကူပြီးပြုပြင်ရန်လွယ်ကူသည်။ အမှန်တကယ်စီမံကိန်းများတွင် NAMSTARE နှင့်အလိုအလျောက်တင်ဆောင်သည့်ယန္တရားများကိုပေါင်းစပ်ခြင်းက code ၏အဖွဲ့အစည်းနှင့်ထိရောက်မှုကိုပိုမိုတိုးတက်စေနိုင်သည်။