Чытанне неіснуючага ўласцівасці ў ААП у 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,
якое будзе вяртаць дзень тыдня, які адпавядае
даце.