Función is_subclass_of
La función is_subclass_of verifica si un objeto o clase pertenece a las subclases de la clase especificada o si implementa la interfaz especificada. El primer parámetro acepta un objeto o nombre de clase, el segundo - el nombre de la clase padre o interfaz. El tercer parámetro opcional determina si se debe permitir la carga automática de clases.
Sintaxis
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Ejemplo
Comprobemos la herencia de clases simples:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultado de la ejecución del código:
true
Ejemplo
Comprobemos la implementación de una interfaz:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultado de la ejecución del código:
true
Ejemplo
Comprobación con objeto en lugar del nombre de la clase:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultado de la ejecución del código:
true
Ejemplo
Comprobación del caso cuando una clase no es subclase:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultado de la ejecución del código:
false
Véase también
-
la función is_a,
que verifica la pertenencia a una clase -
la función class_parents,
que retorna todos los padres -
la función get_parent_class,
que retorna la clase padre -
la función instanceof,
operador de verificación de instancia