Читање на непостоечко својство во ООП во 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

Направете класа Date со јавни својства year, month и day. Со помош на магија направете својство weekDay, кое ќе го враќа денот од неделата, кој одговара на датумот.