Funktion is_a
Die Funktion is_a nimmt ein Objekt und einen Klassennamen entgegen und gibt true zurück, wenn das Objekt eine Instanz dieser Klasse oder eines Nachkommen davon ist. Mit dem dritten Parameter kann angegeben werden, ob Vererbung berücksichtigt werden soll (standardmäßig true).
Syntax
is_a(object, class_name, allow_string = true);
Beispiel
Prüfen wir, ob das Objekt zur Klasse stdClass gehört:
<?php
$obj = new stdClass();
var_dump(is_a($obj, 'stdClass'));
?>
Ergebnis der Codeausführung:
true
Beispiel
Prüfen wir die Klassenvererbung:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$child = new ChildClass();
var_dump(is_a($child, 'ParentClass'));
?>
Ergebnis der Codeausführung:
true
Beispiel
Prüfen wir die Arbeit mit Interfaces:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$obj = new MyClass();
var_dump(is_a($obj, 'MyInterface'));
?>
Ergebnis der Codeausführung:
true
Siehe auch
-
die Funktion is_subclass_of,
die Vererbung prüft -
die Funktion instanceof,
den Instanzprüfungsoperator -
die Funktion get_class,
die die Klasse des Objekts zurückgibt -
die Funktion class_implements,
die die Interfaces der Klasse zurückgibt