PHP ဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းစဉ်တွင်ခွင့်ပြုချက်ထိန်းချုပ်မှုသည် Code Security နှင့် Clear starge ကိုသေချာစေရန်အရေးကြီးသောနည်းလမ်းဖြစ်သည်။ PHP သည်အဓိကအားဖြင့်အမျိုးအစားသုံးမျိုးအပါအ 0 င်အတန်းအစားတွင် attribute များနှင့်နည်းစနစ်များအတွက်ဝင်ရောက်ခွင့်အခွင့်အရေးများကိုသတ်မှတ်ရန် Modifiers ကိုအသုံးပြုသည်။ ဤပြုပြင်မွမ်းမံသူများ၏နားလည်မှုနှင့်ဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်အရည်အသွေးမြင့်အရာဝတ်ထုကို ဦး တည်သည့်ကုဒ်ရေးသားခြင်းအတွက်မရှိမဖြစ်လိုအပ်သည်။ ဤဆောင်းပါးသည်ဤခွင့်ပြုချက်မော်ဒယ်သုံးမျိုးကိုတစ် ဦး အားရှင်းပြပါမည်။ ၎င်းကိုသင့်အားပြည့်စုံအောင်ကျွမ်းကျင်ရန်ကူညီရန်သတ်သတ်မှတ်မှတ်သင်္ကေတဥပမာများဖြင့်လိုက်ပါသွားလိမ့်မည်။
အများပြည်သူအားပြုပြင်မွမ်းမံသူသည်အများပြည်သူလက်လှမ်းမီမှုအခွင့်အရေးများကိုပြသသည်။ များသောအားဖြင့်အပြင်ဘက်နှင့်ထိတွေ့လိုသောလုပ်ဆောင်ချက်များအတွက်အသုံးပြုသည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
class Person {
public $name;
public function sayHello() {
echo 'Hello!ကျွန်တော့်အမည်မှာ' . $this->name;
}
}
$person = new Person();
$person->name = 'Tom';
$person->sayHello();
အထက်ဖော်ပြပါကုဒ်များတွင် $ name attribute နှင့် sayhello () method ကိုအများပြည်သူအဖြစ်ကြေငြာခြင်းများကိုအများပြည်သူနှင့်တိုက်ရိုက်ထုတ်လွှင့်နိုင်သည်။
အကာအကွယ်ပေးထားသောပြုပြင်မွမ်းမံသည်အကာအကွယ်ပေးထားသောအခွင့်အရေးများကိုကိုယ်စားပြုသည်။ အတွင်းပိုင်းယုတ္တိဗေဒကိုအမွေဆက်ခံရန်လိုအပ်သော်လည်းအလိုအလျောက်မခေါ်လိုသောအသင်းဝင်များအတွက်သင့်တော်သည်။ ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
class Person {
protected $name;
protected function sayHello() {
echo 'Hello!ကျွန်တော့်အမည်မှာ' . $this->name;
}
}
class Student extends Person {
public function introduce() {
echo 'ငါ' . $this->name . ',ကမ္ဘာဂြိုဟ် avatar မှ';
}
}
$student = new Student();
$student->name = 'Lucy'; // အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်,တိုက်ရိုက်ဆက်သွယ်လို့မရဘူးprotectedဉစ်စာပစ္စည်းများ
$student->introduce();
ဥပမာတွင် $ name attribute နှင့် sayhello () နည်းလမ်းကိုအကာအကွယ်ပေးထားပြီးကျောင်းသား၏အတန်းသည်၎င်းတို့ကို 0 င်ရောက်နိုင်သည်။
ပုဂ္ဂလိကပြုပြင်မွမ်းမံသည်ပုဂ္ဂလိကလက်လှမ်းမီမှုခွင့်ပြုချက်ကိုကိုယ်စားပြုသည်။ ပြုပြင်ထားသောဂုဏ်သတ္တိများနှင့်နည်းလမ်းများသည်အတွင်းပိုင်းအတန်းကိုသာလက်လှမ်းမီနိုင်ပြီး subclasses နှင့်ပြင်ပကုဒ်နှစ်ခုလုံးမှလက်လှမ်းမမီပါ။ တင်းကျပ်သောထုပ်ပိုးမှုကိုအကောင်အထည်ဖော်ရန်, ဥပမာများမှာအောက်ပါအတိုင်းဖြစ်သည် -
class Person {
private $name;
private function sayHello() {
echo 'Hello!ကျွန်တော့်အမည်မှာ' . $this->name;
}
}
$person = new Person();
$person->name = 'Lily'; // အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်,လက်လှမ်းမမှီဘူးprivateဉစ်စာပစ္စည်းများ
$person->sayHello(); // အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်,လက်လှမ်းမမှီဘူးprivateနည်းလမ်း
ဤဥပမာတွင် $ အမည်နှင့် sayhello () သည်ပုဂ္ဂလိကနှစ် ဦး စလုံးဖြစ်သည်,
PHP ၏ခွင့်ပြုချက်ထိန်းချုပ်ရေးပြုပြင်မွမ်းမံသူများသည်မတူညီသော Access Scopes များနှင့်ကိုက်ညီသည်။ အများပြည်သူ (အများပြည်သူ) နှင့်ပုဂ္ဂလိက (သီးသန့် (ပုဂ္ဂလိက) ။ ဤပြုပြင်ပြောင်းလဲမှုများကိုဆင်ခြင်တုံတရားအသုံးပြုခြင်းသည်ကုဒ်၏လုံခြုံရေးနှင့်ထိန်းသိမ်းမှုကိုတိုးမြှင့်နိုင်ပြီးမလိုအပ်သောလက်လှမ်းမီမှုနှင့်အမှားများကိုပြုပြင်ခြင်းကိုရှောင်ရှားနိုင်ပြီးအစီအစဉ်၏ကြံ့ခိုင်မှုကိုတိုးတက်စေသည်။ ဤဆောင်းပါး၏နိဒါန်းနှင့်ဥပမာများကဤဆောင်းပါး၏နိဒါန်းနှင့်ဥပမာများကသင့်အား PHP ခွင့်ပြုချက်ထိန်းချုပ်ရေးပြုပြင်မွမ်းမံရန်ပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုရန်ကူညီနိုင်သည်။