Funktionen is_subclass_of

Funktionen is_subclass_of kontrollerer, om et objekt eller en klasse tilhører underklasser af den angivne klasse eller om den implementerer det angivne interface. Den accepterer som første parameter et objekt eller et klassens navn, som andet parameter - forældreklassens navn eller interface. Den tredje valgfrie parameter bestemmer, om klasseautoloading skal tages i betragtning.

Syntaks

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

Eksempel

Lad os kontrollere arv af simple klasser:

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

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

Resultat af kodeudførelse:

phptrue

Eksempel

Lad os kontrollere implementering af et interface:

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

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

Resultat af kodeudførelse:

phptrue

Eksempel

Kontrol med et objekt i stedet for klassens navn:

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

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

Resultat af kodeudførelse:

phptrue

Eksempel

Kontrol af tilfælde, hvor klassen ikke er en underklasse:

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

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

Resultat af kodeudførelse:

phpfalse

Se også

  • funktionen is_a,
    som kontrollerer tilhørsforhold til en klasse
  • funktionen class_parents,
    som returnerer alle forældre
  • funktionen get_parent_class,
    som returnerer forældreklassen
  • funktionen instanceof,
    operatoren til kontrol af instans