Čitanje nepostojeće osobine u OOP u PHP-u
U primeru datom u prethodnoj lekciji, koristili smo magiju metode
__get za hvatanje pristupa
privatnim osobinama. U stvarnosti, ova metoda
takođe može biti korisna za hvatanje
pristupa nepostojećim osobinama.
Pogledajmo praktičan primer. Neka
imamo klasu User sa imenom i
prezimenom, koje su javne
osobine:
<?php
class User
{
public $surn;
public $name;
}
?>
Hajde da učinimo da se objekat klase
ponaša kao da takođe ima osobinu
full, koja ispisuje ime i prezime korisnika.
Iskoristimo za ovo našu magičnu metodu
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Proverimo:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // ispisaće 'john smit'
?>
Napravite klasu Date sa javnim osobinama
year, month i day.
Pomoću magije napravite osobinu weekDay,
koja će vraćati dan u nedelji koji odgovara
datu.