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

phpis_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool

Ejemplo

Comprobemos la herencia de clases simples:

php<?php
  class ParentClass {}
  class ChildClass extends ParentClass {}

  $res = is_subclass_of('ChildClass', 'ParentClass');
  var_dump($res);
?>

Resultado de la ejecución del código:

phptrue

Ejemplo

Comprobemos la implementación de una interfaz:

php<?php
  interface MyInterface {}
  class MyClass implements MyInterface {}

  $res = is_subclass_of('MyClass', 'MyInterface');
  var_dump($res);
?>

Resultado de la ejecución del código:

phptrue

Ejemplo

Comprobación con objeto en lugar del nombre de la clase:

php<?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:

phptrue

Ejemplo

Comprobación del caso cuando una clase no es subclase:

php<?php
  class A {}
  class B {}

  $res = is_subclass_of('B', 'A');
  var_dump($res);
?>

Resultado de la ejecución del código:

phpfalse

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