Metode __isset
Die metode __isset is 'n magiese metode in PHP en word aangeroep wanneer daar gepoog word om die bestaan van 'n objek se eienskap te kontroleer met behulp van die funksies isset of empty, wanneer daardie eienskap onbeskikbaar of nie bestaan nie. Die metode neem een parameter - die naam van die eienskap wat gekontroleer word.
Sintaksis
public function __isset(string $name): bool
Voorbeeld
Skep 'n klas met die magiese metode __isset:
<?php
class User {
private $data = [
'name' => 'John',
'age' => 30
];
public function __isset($name) {
return isset($this->data[$name]);
}
}
$user = new User();
var_dump(isset($user->name));
var_dump(isset($user->email));
?>
Resultaat van kode-uitvoering:
true
false
Voorbeeld
Gebruik met dinamiese eienskappe:
<?php
class DynamicProperties {
private $storage = [];
public function __isset($name) {
return array_key_exists($name, $this->storage);
}
public function __set($name, $value) {
$this->storage[$name] = $value;
}
}
$obj = new DynamicProperties();
$obj->test = 'value';
var_dump(isset($obj->test));
var_dump(isset($obj->unknown));
?>
Resultaat van kode-uitvoering:
true
false