Operatorul instanceof

Operatorul instanceof verifică dacă un obiect este o instanță a clasei specificate sau a unui său descendent. Primul parametru primește un obiect, al doilea - numele clasei pentru verificare. Întoarce true dacă obiectul aparține clasei sau false în caz contrar.

Sintaxă

php$object instanceof ClassName;

Exemplu

Să verificăm dacă obiectul este o instanță a clasei MyClass:

php<?php
  class MyClass {}
  $obj = new MyClass();
  var_dump($obj instanceof MyClass);
?>

Rezultatul executării codului:

phptrue

Exemplu

Să verificăm moștenirea claselor:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}
  
  $child = new ChildClass();
  var_dump($child instanceof ParentClass);
?>

Rezultatul executării codului:

phptrue

Exemplu

Să verificăm că obiectul nu este o instanță a clasei:

php<?php
  class A {}
  class B {}
  
  $a = new A();
  var_dump($a instanceof B);
?>

Rezultatul executării codului:

phpfalse

Vedeți și

  • funcția get_class,
    care întoarce numele clasei obiectului
  • funcția is_a,
    care verifică apartenența obiectului la o clasă