PHP да ООПда мавжуд булмаган хусусиятни ўкиш

Олдинги дарсда келтирилган мисолда, биз __get магия методани хусусий хусусиятларга муроожатни ушлаш учун қўллаган эдик. Аслида бу метод мавжуд булмаган хусусиятларга муроожатни ушлаш учун хам фойдали булиши мумкин.

Амалий мисолни кўрайлик. Бизда исми ва фамилияси оммавий хусусиятлар бўлган User класси мавжуд бўлсин:

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

Келинг, класс объекти унда full хусусияти мавжуддек туриб, фойдаланувчининг исми ва фамилиясини чиқариб берсани қилайлик. Бунинг учун бизнинг магик методамиз __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

year, month ва day оммавий хусусиятлари бўлган Date классини ясанг. Магия ёрдамида weekDay хусусиятини ясанг, у санага мос келувчи ҳафта кунини қайтарсин.