Lees van nie-bestaande eienskappe in OOP in PHP
In die voorbeeld, aangehaal in die vorige les, het ons die magie van die metode
__get gebruik om toegang tot
private eienskappe te vang. Eintlik kan hierdie metode
ook nuttig wees om toegang tot
nie-bestaande eienskappe te vang.
Laat ons na 'n praktiese voorbeeld kyk. Gestel
ons het 'n klas User met 'n naam en
van wat publieke
eienskappe is:
<?php
class User
{
public $surn;
public $name;
}
?>
Laat ons dit so maak dat die objek van die klas
hom so gedra asof hy ook 'n eienskap
full het, wat die naam en van van die gebruiker uitdruk.
Ons sal ons magiese metode
__get hiervoor gebruik:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Laat ons toets:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // sal 'john smit' uitdruk
?>
Maak 'n klas Date met publieke eienskappe
year, month en day.
Met behulp van magie, maak 'n eienskap weekDay,
wat die dag van die week sal teruggee wat ooreenstem met die
datum.