Olematu omaduse lugemine OOP-s PHP-s
Eelmises õppetükis toodud näites rakendasime magilist meetodit
__get privaatsetele omadustele pääsemise püüdmiseks. Tegelikult võib see meetod
olla kasulik ka püüdmiseks
pöördumistele olematute omaduste poole.
Vaatame praktilist näidet. Olgu meil klass User nime ja
perekonnanimega, mis on avalikud
omadused:
<?php
class User
{
public $surn;
public $name;
}
?>
Teeme nii, et klassi objekt
käituks nagu tal oleks ka omadus
full, mis kuvab kasutaja ees- ja perekonnanime.
Kasutame selleks meie maagilist meetodit
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Kontrollime:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // väljastab 'john smit'
?>
Tehke klass Date avalike omadustega
year, month ja day.
Kasutades magiat, tehke omadus weekDay,
mis tagastab nädalapäeva, vastavalt
kuupäevale.