Functie is_subclass_of

De functie is_subclass_of controleert of een object of klasse behoort tot de afstammelingen van de opgegeven klasse of of het de opgegeven interface implementeert. Het eerste parameter accepteert een object of klassenaam, de tweede - de naam van de bovenliggende klasse of interface. De derde optionele parameter bepaalt of autoloading van klassen in aanmerking moet worden genomen.

Syntaxis

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

Voorbeeld

Laten we de overerving van eenvoudige klassen controleren:

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

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

Resultaat van code-uitvoering:

phptrue

Voorbeeld

Laten we de implementatie van een interface controleren:

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

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

Resultaat van code-uitvoering:

phptrue

Voorbeeld

Controle met een object in plaats van een klassenaam:

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

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

Resultaat van code-uitvoering:

phptrue

Voorbeeld

Controle van het geval wanneer een klasse geen afstammeling is:

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

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

Resultaat van code-uitvoering:

phpfalse

Zie ook

  • functie is_a,
    die controleert of iets tot een klasse behoort
  • functie class_parents,
    die alle bovenliggende klassen retourneert
  • functie get_parent_class,
    die de bovenliggende klasse retourneert
  • functie instanceof,
    operator voor het controleren van een instantie