Junior — Middle
Heeft u ervaring met het gebruik van speciale methoden die beginnen met een dubbele underscore in PHP?
sobes.tech AI
Antwoord van AI
In PHP worden speciale methoden die beginnen met dubbele onderstreping (__) magische methoden genoemd. Ze stellen je in staat het gedrag van objecten in bepaalde situaties te overschrijven. Bijvoorbeeld:
__construct()— constructor van de klasse__destruct()— destructor__get($name)— wordt aangeroepen bij toegang tot een niet-bestaande of ontoegankelijke eigenschap__set($name, $value)— wordt aangeroepen bij het toewijzen aan een niet-bestaande of ontoegankelijke eigenschap__call($name, $arguments)— wordt aangeroepen bij het aanroepen van een niet-bestaande methode__toString()— bepaalt het gedrag van het object bij conversie naar string
Voorbeeld van gebruik van __get en __set:
class User {
private $data = [];
public function __get($name) {
return $this->data[$name] ?? null;
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
}
$user = new User();
$user->name = 'Иван';
echo $user->name; // Toont 'Иван'
Magische methoden maken het mogelijk om het gedrag van objecten flexibel te beheren en worden vaak gebruikt voor het implementeren van ontwerp patronen of het vereenvoudigen van de interface van klassen.