Funktionen is_subclass_of

Funktionen is_subclass_of kontrollerar om ett objekt eller en klass tillhör barn till den angivna klassen eller om den implementerar det angivna gränssnittet. Den tar ett objekt eller ett klassnamn som första parameter, och namnet på föräldraklassen eller gränssnittet som andra parameter. Den tredje valfria parametern bestämmer om klassautoladdning ska beaktas.

Syntax

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

Exempel

Låt oss kontrollera arv av enkla klasser:

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

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

Resultat av kodkörning:

phptrue

Exempel

Låt oss kontrollera implementering av ett gränssnitt:

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

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

Resultat av kodkörning:

phptrue

Exempel

Kontroll med ett objekt istället för klassnamn:

php<?php
  class Animal {}
  class Dog extends Animal {}

  $dog = new Dog();
  $res = is_subclass_of($dog, 'Animal');
  var_dump($res);
?>

Resultat av kodkörning:

phptrue

Exempel

Kontroll av fall då klassen inte är ett barn:

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

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

Resultat av kodkörning:

phpfalse

Se även

  • funktionen is_a,
    som kontrollerar tillhörighet till en klass
  • funktionen class_parents,
    som returnerar alla föräldrar
  • funktionen get_parent_class,
    som returnerar föräldraklassen
  • funktionen instanceof,
    operatör för instanskontroll