Mbinu __isset

Mbinu __isset ni mbinu ya kichawi katika PHP na inaitwa wakati wa kujaribu kukagua uwepo wa sifa ya kitu kwa kutumia vitendakazi isset au empty, wakati sifa hiyo haipatikani au haipo. Mbinu hiyo inakubua parameta moja - jina la sifa inayokaguliwa.

Sintaksia

phppublic function __isset(string $name): bool

Mfano

Tuunde darasa lenye mbinu ya kichawi __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));
?>

Matokeo ya kutekeleza kodi:

phptrue
false

Mfano

Matumizi na sifa zenye nguvu za kinetic:

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));
?>

Matokeo ya kutekeleza kodi:

phptrue
false

Angalia pia

  • mbinu __get,
    ambayo inaitwa wakati wa kusoma sifa zisizopatikani
  • mbinu __set,
    ambayo inaitwa wakati wa kuandika kwenye sifa zisizopatikani
  • mbinu __unset,
    ambayo inaitwa wakati wa kufuta sifa zisizopatikani