PHP OOP တွင် Setter နှင့် Getter ၏ အကျိုးကျေးဇူးများ
ယခင်သင်ခန်းစာတွင် ကျွန်ုပ်တို့သည် property တစ်ခုစီအတွက် getter နှင့် setter များ ပြုလုပ်ခဲ့ပါသည်။ ဤကဲ့သို့ရှုပ်ထွေးမှုများ မည်ကဲ့သို့လိုအပ်သနည်း ဟု မေးခွန်းထွက်ပေါ်လာနိုင်ပါသည်။ အဘယ်ကြောင့်ဆိုသော် properties များကို private အစား public ပြုလုပ်ပါက �လားတူအကျိုးသက်ရောက်မှုကို ရရှိနိုင်မည်ဖြစ်သည်။
ပြဿနာမှာ getter နှင့် setter များတွင် အားသာချက်ရှိပါသည်- property တစ်ခုကိုဝင်ရောက်အသုံးပြုခြင်းမပြုမီ အတည်ပြုချက်အချို့ကို လုပ်ဆောင်နိုင်ပါသည်။ ဥပမာအားဖြင့်၊ ကျွန်ုပ်တို့၏ကိစ္စတွင် အမည်နှင့်သူမျိုးရင်းအမည်ကိုရေးသားသည့်အခါ တန်ဖိုးအသစ်သည် ဗလာစာကြောင်းမဟုတ်ကြောင်း စစ်ဆေးနိုင်ပါသည်။
<?php
class User {
private $name;
private $surn;
public function setName($name) {
if (strlen($name) > 0) {
$this->name = $name;
} else {
echo 'name is incorrect';
}
}
public function setSurn($surn) {
if (strlen($surn) > 0) {
$this->surn = $surn;
} else {
echo 'surn is incorrect';
}
}
public function getName() {
return $this->name;
}
public function getSurn() {
return $this->surn;
}
}
?>
ဤအရာသည် မည်သို့အလုပ်လုပ်သည်ကို စစ်ဆေးကြည့်ရအောင်။ ပထမဦးစွာ class ၏ object တစ်ခုကို ဖန်တီးပါမည်။
<?php
$user = new User();
?>
ယခု မှန်ကန်သောတန်ဖိုးကို ရေးသားကြည့်ပါမည်။
<?php
$user->setName('john');
?>
ယခု မမှန်ကန်သောတန်ဖိုးကို ရေးသားကြည့်ပါမည်။
<?php
$user->setName(''); // error
?>
Employee class ရှိ အသက် setter တွင်
အသက်သည် 0 မှ 120
ကြားရှိရမည်ဟူသော စစ်ဆေးချက်ကို
ပြုလုပ်ပါ။
Employee class ရှိ လစာ getter တွင်
လစာကိုဖတ်သည့်အခါ ၎င်း၏တန်ဖိုး
အဆုံးတွင် ဒေါ်လာသင်္ကေတကို
ထည့်သွင်းပေးရန် ပြုလုပ်ပါ။