Nepastāvošās īpašības lasīšana OOP PHP
Piemērā, kas dots iepriekšējā nodarbībā, mēs izmantojām burvju metodi
__get, lai notvertu piekļūsti
privātām īpašībām. Patiesībā šī metode
var būt noderīga arī, lai notvertu
piekļūsti nepastāvošām īpašībām.
Apskatīsim praktisku piemēru. Pieņemsim, ka
mums ir klase User ar vārdu un
uzvārdu, kas ir publiskas
īpašības:
<?php
class User
{
public $surn;
public $name;
}
?>
Padarīsim tā, lai klases objekts
uzvestos tā, it kā tam būtu arī īpašība
full, kas izvada lietotāja vārdu un uzvārdu.
Izmantosim tam mūsu burvju metodi
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Pārbaudīsim:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // izvadīs 'john smit'
?>
Izveidojiet klasi Date ar publiskām īpašībām
year, month un day.
Ar burvju palīdzību izveidojiet īpašību weekDay,
kura atgriezīs nedēļas dienu, kas atbilst
datumam.