စိတ်တဇအတန်းများနှင့် interfaces များသည်အရာဝတ်ထုကို Orient-oriented programming အတွက်ဘုံသဘောတရားနှစ်ခုဖြစ်သည်။ ၎င်းတို့သည်အချက်အလက်အမျိုးအစားများကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲနိုင်အောင်ကူညီနိုင်သည်။ PHP တွင်စိတ်တဇအတန်းများနှင့် interfaces များ၏အကူအညီဖြင့်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောဒေတာအမျိုးအစားများကိုပြန်လည်အသုံးပြုနိုင်ရန်အတွက်တူညီသောအပြုအမူများနှင့်ဂုဏ်သတ္တိများအချို့ကိုသတ်မှတ်နိုင်သည်။ ထို့နောက် PHP တွင် interfaction များနှင့်စိတ်တဇအတန်းများကို အသုံးပြု. မည်သို့အောင်မြင်ရန်နှင့်ကုဒ်သင်္ကေတဖြင့်ဥပမာပြသမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
စိတ်တဇအတန်းတစ်ခုသည်ချက်ချင်းမဖြစ်နိုင်သည့်အတန်းတစ်ခုဖြစ်သည်။ စိတ်တဇအတန်းများကိုများသောအားဖြင့် subclass အကောင်အထည်ဖော်မှုသို့မဟုတ် overriding အတွက်ဘုံဂုဏ်သတ္တိများနှင့်နည်းလမ်းများကိုသတ်မှတ်ရန်အသုံးပြုသည်။ ဤတွင်စိတ်တဇအတန်းအစား၏ဥပမာတစ်ခုဖြစ်သည်။
abstract class Animal {
protected $name;
protected $age;
public function __construct($name, $age) {
$this->name = $name;
$this->age = $age;
}
abstract protected function sound();
public function getInfo() {
echo "ငါတစ်ယောက်ပါ{$this->name},ဒီနှစ်{$this->age}အသက်အရွယ်。";
$this->sound();
}
}
အထက်ဖော်ပြပါကုဒ်များတွင်ကျွန်ုပ်တို့သည် attribute `$ အမည်နှင့်` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` `` $ age ` subclass မှအကောင်အထည်ဖော်ရန်လိုအပ်သည့်စိတ်တဇနည်းလမ်းဟုကျွန်ုပ်တို့လည်းကြေငြာသည်။ နောက်ဆုံးတွင် `getINFO ()` နည်းလမ်းကိုအများပြည်သူနှင့်ခွဲစိတ်ကုသမှုကိုတိုက်ရိုက်အမွေဆက်ခံနိုင်ပြီးတိုက်ရိုက်အသုံးပြုနိုင်သည်။
ထို့နောက် `တိရိစ္ဆာန်၏ abstract အတန်းအစားကိုအမွေဆက်ခံသော subclass ၏ဥပမာတစ်ခုဖြစ်သည်။
class Cat extends Animal {
protected function sound() {
echo "meow meow meow。";
}
}
class Dog extends Animal {
protected function sound() {
echo "wow, wow, wow。";
}
}
In the above code, we define two subclasses `Cat` and `Dog`, both inherit the `Animal` class and implement the abstract method `sound()`. ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည်ဤခွဲခြမ်းစိတ်ဖြာမှုနှစ်ခုကိုချက်ချင်းအသုံးပြုနိုင်ပြီး၎င်းတို့၏နည်းလမ်းများကိုခေါ်ဆိုနိုင်ပါသည်။
$cat = new Cat("ကေြာင်ကလေး", 2);
$cat->getInfo(); // ထုတ်လုပ်ခြင်း:“ငါတစ်ယောက်ပါကေြာင်ကလေး,ဒီနှစ်2အသက်အရွယ်。”တစ်ပြိုင်နက်ပို့ပါ“meow meow meow。”၏အသံ
$dog = new Dog("ခေှးကလေး", 3);
$dog->getInfo(); // ထုတ်လုပ်ခြင်း:“ငါတစ်ယောက်ပါခေှးကလေး,ဒီနှစ်3အသက်အရွယ်。”တစ်ပြိုင်နက်ပို့ပါ“wow, wow, wow。”၏အသံ
အထက်ပါကုဒ်မှစိတ်တဇအတန်းများသည်ဘုံနည်းလမ်းများနှင့်ဂုဏ်သတ္တိများအချို့ကိုသတ်မှတ်သည့်မူဘောင်တစ်ခုဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ ၎င်းသည်ကျွန်ုပ်တို့အားပိုမိုကောင်းမွန်သောစီမံခန့်ခွဲမှုအမျိုးအစားများကိုပိုမိုကောင်းမွန်စွာစီမံခန့်ခွဲရန်ခွင့်ပြုသည်။
interfaces သည် PHP တွင်အခြားအရေးကြီးသောအယူအဆတစ်ခုဖြစ်ပြီးအကောင်အထည်ဖော်မည့်နည်းလမ်းများနှင့်နည်းလမ်းများကိုသတ်မှတ်သည့်အပြုအမူများနှင့်နည်းလမ်းများကိုသတ်မှတ်သည်။ အတန်းတစ်ခုသည် interface တစ်ခုသို့မဟုတ်တစ်ခုထက်ပိုသော interfaces များကိုအကောင်အထည်ဖော်နိုင်သည်။ interface မှတဆင့်ကျွန်ုပ်တို့သည်အတန်းတွင်လိုအပ်သောနည်းလမ်းအချို့ရှိကြောင်းသေချာစေနိုင်သည်။ ဒီမှာ interface တစ်ခု၏ဥပမာတစ်ခုရှိသည်။
interface AnimalInterface {
public function sound();
public function getInfo();
}
အထက်ဖော်ပြပါကုဒ်များတွင်နည်းလမ်း 2 လုံးပါ 0 င်သည့် interface `` `` `` `` အသံ () `getinfo ()` getinfo () ။ interface ရှိနည်းလမ်းများသည်လက်မှတ်များနှင့်တိကျသောအကောင်အထည်ဖော်မှုမရှိပါ။
နောက်တစ်ခုမှာ `` `` `` `` `` `` `` `` `` `` `` `` `` `
class Cat implements AnimalInterface {
public function sound() {
echo "meow meow meow。";
}
public function getInfo() {
echo "ငါတစ်ယောက်ပါ猫。";
$this->sound();
}
}
In this example, the `Cat` class implements the `AnimalInterface` interface and implements the `sound()` and `getInfo()` methods in the interface. ဤနည်းအားဖြင့်ကျွန်ုပ်တို့သည် `cat` class ၏ဥပမာတစ်ခုကို ဖန်တီး. ဤနည်းလမ်းများကိုခေါ်ဆိုနိုင်သည်။
$cat = new Cat();
$cat->getInfo(); // ထုတ်လုပ်ခြင်း:“ငါတစ်ယောက်ပါ猫。”တစ်ပြိုင်နက်ပို့ပါ“meow meow meow。”၏အသံ
ဤအရာမှကျွန်ုပ်တို့ interface တစ်ခုသည်အတားအဆီးတစ်ခုဖြစ်ကြောင်းသေချာသည့်အကန့်ယန္တရားတစ်ခုဖြစ်ကြောင်းကျွန်ုပ်တို့တွေ့မြင်နိုင်သည်။ ဒေတာအမျိုးအစားများကိုသတ်မှတ်သောအခါနှင့်စီမံခန့်ခွဲရာတွင်ဤသည် interfaces အလွန်အသုံးဝင်စေသည်။
စိတ်တဇအတန်းများနှင့် interfaces များသည် PHP ရှိအရာဝတ်ထု -oriented programming သဘောတရားများကို အသုံးပြု. PHP တွင်အသုံးပြုသောအရာဝတ်ထုကို ဦး စားပေးအစီအစဉ်များကို အသုံးပြု. အချက်အလက်အမျိုးအစားများကိုစီမံခန့်ခွဲခြင်းနှင့်ကိုင်တွယ်ရာတွင်အရေးပါသောအခန်းကဏ် play မှပါ 0 င်သည်။ စိတ်တဇအတန်းများသည်ဘုံအပြုအမူများနှင့်ဂုဏ်သတ္တိများကိုသတ်မှတ်ပေးသောမူဘောင်တစ်ခုဖြစ်သည့် Framework ကိုဖော်ပြသည်။ Interface သည်အတန်းတွင်ဤအပြုအမူများရှိစေရန်သေချာစေရန်အကောင်အထည်ဖော်ရမည်ဟုသတ်မှတ်ထားသည့်အပြုအမူများကိုသတ်မှတ်သည်။ စိတ်တဇအတန်းများနှင့် interfaces များကိုဆင်ခြင်တုံတရားဖြင့် အသုံးပြု. ကျွန်ုပ်တို့၏ code ၏ပြန်လည်သုံးသပ်ခြင်းကိုတိုးတက်စေပြီးကျွန်ုပ်တို့၏အစီအစဉ်များ၏ပမာဏကိုမြှင့်တင်နိုင်သည်။
အထက်ဖော်ပြပါအချက်များသည် PHP ရှိ interfaces များနှင့် PHP ရှိစိတ်တဇအတန်းများကိုစီမံခန့်ခွဲရန်နှင့်စီမံခန့်ခွဲရန်စီမံခန့်ခွဲခြင်းနှင့်စီမံခန့်ခွဲရန် PHP တွင်အသုံးပြုသည်။ ဤဥပမာများနှင့်ရှင်းလင်းချက်များသည်ဤ php features များကိုပိုမိုနားလည်သဘောပေါက်ရန်မျှော်လင့်ပါသည်။