ReflectionClass::isSubclassOf

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isSubclassOfVérifie si la classe est une sous-classe

Description

public ReflectionClass::isSubclassOf(ReflectionClass|string $class): bool

Vérifie si la classe est une sous-classe de la classe spécifiée ou implémente une interface spécifiée.

Liste de paramètres

class

Soit le nom de la classe en tant que chaîne de caractères soit un objet ReflectionClass de la classe à vérifier.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
2
dhairya lakhera
8 years ago
class A {}
class B {}
class C extends B {}

$obj=new ReflectionClass('C');

var_dump($obj->isSubclassOf ('A')); //boolean false
var_dump($obj->isSubclassOf ('B')); //boolean true
up
1
voitcus at gmail dot com
5 years ago
Note, that this method is a bit different than the `instanceof` operator, which returns true, when it is a subclass or the very same class (interface). Here, only being a subclass results in true, eg.

class A {}
class B extends A {}

$a = new ReflectionClass('A');
$AA = new A;
$b = new ReflectionClass('B');
$BB = new B;

var_dump($a->isSubclassOf($b)); // false
var_dump($AA instanceof $BB); // false

var_dump($b->isSubclassOf($a)); // true
var_dump($BB instanceof $AA); // true

var_dump($a->isSubclassOf($a)); // false
var_dump($AA instanceof $AA); // true
To Top