Skip to content

Latest commit

 

History

History
62 lines (47 loc) · 1.49 KB

File metadata and controls

62 lines (47 loc) · 1.49 KB

📚 Typ-Operatoren

Energie!

🍀 instanceof

<?php
  class MyClass { /**/ }

  class NotMyClass{ /**/ }
  
  $a = new MyClass;

  var_dump($a instanceof MyClass); // bool(true)
  var_dump($a instanceof NotMyClass); //bool(false)
?>

instanceof wird dazu verwendet um festzustellen, ob ein gegebenes Objekt ein Objekt ist, das zu einer bestimmten Klasse gehört.


🍀 instanceof mit ererbten Klassen

<?php
  class ParentClass { /**/ }

  class MyClass extends ParentClass { /**/ }

  $a = new MyClass;

  var_dump($a instanceof MyClass); // bool(true)
  var_dump($a instanceof ParentClass); // bool(true)
?>

instanceof kann auch verwendet werden, um zu bestimmen, ob ein Variable ein Exemplar einer Klasse ist, die von einer Elternklasse erbt.


🍀 instanceof & "nicht Operator"

<?php
  class MyClass { /**/ }

  $a = new MyClass;
  var_dump(!($a instanceof stdClass)); // bool(true) - Da die Variable $a KEIN Exemplar der Klasse stdClass ist.
  var_dump(!($a instanceof MyClass)); // bool(false) - Das ist "false", weil $a die Instanz von MyClass ist.
?>

Um zu prüfen, ob ein Objekt nicht ein Exemplar einer Klasse ist, kann der logische "nicht Operator" verwendet werden.

⚡ Protipp!

<?php
  class EineTolleKlasse { /**/ }
  $data = new EineTolleKlasse();
  echo "Der Name der Klasse ist " , get_class($data);
  // Der Name der Klasse ist EineTolleKlasse
?>

So kann der Klassenname ermittelt werden.