လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP Object-Object-Oriented Encapsulation Encapultulation Examportation လမ်းညွှန် - Access Control, Getter / Setter နှင့် Magic Metterments

PHP Object-Object-Oriented Encapsulation Encapultulation Examportation လမ်းညွှန် - Access Control, Getter / Setter နှင့် Magic Metterments

M66 2025-11-01

PHP တွင် Encapsulationulation ကိုနားလည်ခြင်း

Encapsulation ဆိုသည်မှာအရာဝတ်ထု -oriented programming ၏အဓိကအယူအဆများအနက်မှတစ်ခုဖြစ်သည်။ ၎င်းသည်ကုဒ်၏ထိန်းသိမ်းမှုနှင့်ပြန်လည်သုံးသပ်ခြင်းကိုတိုးတက်စေသည်။ PHP တွင် Encapsulation ပြုလုပ်ခြင်းသည်အဓိကအားဖြင့် Access control, getter / setter နည်းလမ်းများ, မှော်နည်းလမ်းများ,

Access Control

PHP သည်အတန်း 0 င်များ၏ဝင်ရောက်ခွင့်နယ်ပယ်ကိုထိန်းချုပ်ရန် Access Modifiers သုံးခုကိုထောက်ပံ့ပေးသည်။
အများပြည်သူ - အဖွဲ့ဝင်များကိုမည်သည့်နေရာတွင်မဆိုဝင်ရောက်ကြည့်ရှုနိုင်သည်
ကာကွယ်ထားသည် - အဖွဲ့ဝင်များကိုလက်ရှိလူတန်းစားနှင့်၎င်း၏ခွဲစိတ်မှုတွင်သာဝင်ရောက်ကြည့်ရှုနိုင်သည်
ပုဂ္ဂလိက - အသင်း 0 င်ကိုလက်ရှိလူတန်းစားအတွင်းသာဝင်ရောက်ကြည့်ရှုနိုင်သည်

 class MyClass {
    public $publicVar;
    protected $protectedVar;
    private $privateVar;

    public function publicMethod() {
        // ဘယ်နေရာမှာမဆိုမှဝင်ရောက်ခွင့်
    }

    protected function protectedMethod() {
        // သာလက်ရှိလူတန်းစားနှင့် subclasses အတွင်းသာဝင်ရောက်နိုင်ပါတယ်
    }

    private function privateMethod() {
        // သာလက်ရှိလူတန်းစားအတွင်းမှဝင်ရောက်နိုင်ပါတယ်
    }
}

getter နှင့် setter နည်းလမ်းများသုံးပြီး

အသင်း 0 င် variable များကိုပိုမိုကောင်းမွန်စွာထိန်းချုပ်နိုင်ရန်အတွက်ကျွန်ုပ်တို့သည် getter နှင့် setter နည်းစနစ်များကိုသုံးနိုင်သည်။ Getter Method ကိုအသင်း 0 င် variable ၏တန်ဖိုးကိုရရှိရန်အသုံးပြုသည်။ အသင်း 0 င် variable ၏တန်ဖိုးကိုသတ်မှတ်ရန် setter method ကိုအသုံးပြုသည်။ တစ်ချိန်တည်းမှာပင်လုပ်ငန်းစဉ်အတွင်းဒေတာစစ်ဆေးခြင်းသို့မဟုတ်ပြုပြင်ခြင်းပြုလုပ်နိုင်သည်။

 class MyClass {
    private $name;

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }
}

အိမ်ခြံမြေ 0 င်ခွင့်ကို encapsulate လုပ်ရန်မှော်နည်းလမ်းများကိုသုံးပါ

PHP သည်အရာဝတ်ထုဖန်တီးမှု, ဖျက်ဆီးခြင်းနှင့်ပိုင်ဆိုင်မှုလက်လှမ်းမီမှုအတွက်အထူးမှော်အတတ်အချို့ကိုထောက်ပံ့ပေးသည်။ __Get နှင့် __s ကြည့်ခြင်းနည်းလမ်းများသည်မတည်ရှိသည့်သို့မဟုတ်လက်လှမ်းမမှီနိုင်သောအသင်း 0 င် variable များကိုဝင်ရောက်ကြည့်ရှုသောအခါ Encapsulations များကိုပေးသည်။

 class MyClass {
    private $data = [];

    public function __get($name) {
        if (isset($this->data[$name])) {
            return $this->data[$name];
        } else {
            throw new Exception("Property '$name' does not exist.");
        }
    }

    public function __set($name, $value) {
        $this->data[$name] = $value;
    }
}

အဆင့်မြင့် Encapsulation ကိုအကောင်အထည်ဖော်ရန် Wrapper အတန်းကိုဖန်တီးပါ

Wrapper အတန်းတစ်ခုသည်အခြေခံအတန်းတစ်ခုသို့မဟုတ်တစ်ခုထက် ပို. onscapsulate လုပ်နိုင်ပြီးအဆင့်မြင့်သော interface တစ်ခုဖြစ်နိုင်သည်။

 class Database {
    public function connect() {
        // ဒေတာဘေ့စနှင့်ဆက်သွယ်ပါ
    }

    public function query($sql) {
        // quented
    }

    public function close() {
        // Database ဆက်သွယ်မှုကိုပိတ်ပါ
    }
}

class DatabaseWrapper {
    private $database;

    public function __construct(Database $database) {
        $this->database = $database;
    }

    public function fetchData($sql) {
        $this->database->connect();
        $result = $this->database->query($sql);
        $this->database->close();
        return $result;
    }
}

အကျဉ်းချုပ်

PHP တွင် Encapsulation ကိုရရှိခြင်းသည်အဓိကအားဖြင့်ဝင်ရောက်ခွင့်, getter နှင့် setter နည်းစနစ်များ, ဤနည်းလမ်းများသည်ရိုးရှင်းသောနှင့်အသုံးဝင်သော interface ကိုထောက်ပံ့ပေးစဉ်အရာဝတ်ထု၏အတွင်းပိုင်းအသေးစိတ်အချက်အလက်များကိုထိရောက်စွာကန့်သတ်နိုင်သည်။

မကြာသေးမီ ဆောင်းပါးများ