Het lezen van niet-bestaande eigenschappen in OOP in PHP
In het voorbeeld uit de vorige les pasten we de magie van de methode
__get toe om toegang tot
private eigenschappen op te vangen. In werkelijkheid is deze methode
ook nuttig om toegang tot
niet-bestaande eigenschappen op te vangen.
Laten we een praktisch voorbeeld bekijken. Stel
we hebben een klasse User met een voornaam en
achternaam, die publieke
eigenschappen zijn:
<?php
class User
{
public $surn;
public $name;
}
?>
Laten we ervoor zorgen dat het object van de klasse
zich zo gedraagt alsof het ook een eigenschap
full heeft, die de voornaam en achternaam van de gebruiker weergeeft.
We gebruiken hiervoor onze magische methode
__get:
<?php
class User
{
public $surname;
public $name;
public $patronymic;
public function __get($property)
{
if ($property == 'full') {
return $this->surn . ' ' . $this->name;
}
}
}
?>
Laten we testen:
<?php
$user = new User;
$user->surn = 'john';
$user->name = 'smit';
echo $user->full; // geeft 'john smit' weer
?>
Maak een klasse Date met publieke eigenschappen
year, month en day.
Maak met behulp van magie een eigenschap weekDay,
dat de weekdag zal teruggeven die overeenkomt met de
datum.