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

phppublic function __isset(string $name): bool

Voorbeeld

Skep 'n klas met die magiese metode __isset:

php<?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:

phptrue
false

Voorbeeld

Gebruik met dinamiese eienskappe:

php<?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:

phptrue
false

Sien ook

  • metode __get,
    wat aangeroep word wanneer onbeskikbare eienskappe gelees word
  • metode __set,
    wat aangeroep word wanneer daar na onbeskikbare eienskappe geskryf word
  • metode __unset,
    wat aangeroep word wanneer onbeskikbare eienskappe verwyder word