PHP OOP တွင် မရှိသော property များကို ဖတ်ခြင်း

ယခင်သင်ခန်းစာတွင် ဖော်ပြထားသော ဥပမာတွင်၊ ကျွန်ုပ်တို့သည် private property များကို ဝင်ရောက်လာခြင်းကို ဖမ်းယူရန် __get method ၏ magic ကို အသုံးပြုခဲ့သည်။ တကယ်တော့ ဤ method သည် မရှိသော property များကို ဝင်ရောက်လာခြင်းကို ဖမ်းယူရန်အတွက်လည်း အသုံးဝင်ပါသည်။

လက်တွေ့ဥပမာတစ်ခုဖြင့် ကြည့်ရအောင်။ ကျွန်ုပ်တို့တွင် User class တစ်ခု ရှိပြီး နာမည်နှင့် သူမိသားစုအမည်တို့သည် public property များအဖြစ် ရှိနေသည်ဟု ဆိုကြပါစို့။

User.php<?php
  class User
  {
    public $surn;
    public $name;
  }
?>

ယခု class ၏ object သည် full ဟူသော property တစ်ခု ရှိသကဲ့သို့ ပြုမူစေရန် ပြုလုပ်ကြမည်။ ထို property သည် user ၏ မိသားစုအမည်နှင့် နာမည်ကို ပြန်ပေးမည်။ ကျွန်ုပ်တို့၏ magical method __get ကို ဤအတွက် အသုံးပြုမည်။

User.php<?php
  class User
  {
    public $surname;
    public $name;
    public $patronymic;
    
    public function __get($property)
    {
      if ($property == 'full') {
        return $this->surn . ' ' . $this->name;
      }
    }
  }
?>

စမ်းကြည့်ကြမည်။

index.php<?php
  $user = new User;
  
  $user->surn = 'john';
  $user->name = 'smit';
  
  echo $user->full; // 'john smit' ကို ပြမည်
?>
Задание 1

Date class တစ်ခုကို public property များဖြစ်သော year, month နှင့် day တို့ဖြင့် ပြုလုပ်ပါ။ magic ကိုအသုံးပြု၍ weekDay property တစ်ခုကို ပြုလုပ်ပါ။ ထို property သည် ရက်စွဲနှင့် ကိုက်ညီသော သီတင်းနေ့ကို ပြန်ပေးရမည်။