Читање непостојећег својства у ООП у PHP
У примеру приказаном у претходној лекцији, користили смо магију методе
__get за хватање приступа
приватним својствима. Заправо, ова метода
такође може бити корисна за хватање
приступа непостојећим својствима.
Погледајмо на практичном примеру. Нека
имамо класу User са именом и
презименом, које су јавна
својства:
<?php
class User
{
public $surn;
public $name;
}
?>
Начинимо да се објекат класе
понаша као да такође има својство
full, које исписује име и презиме корисника.
Користимо за ово нашу магичну методу
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Проверимо:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // исписаће 'john smit'
?>
Направите класу Date са јавним својствима
year, month и day.
Помоћу магије направите својство weekDay,
које ће враћати дан у недељи, који одговара
датуму.