Funksjonen is_subclass_of

Funksjonen is_subclass_of sjekker om et objekt eller en klasse tilhører underklasser av den angitte klassen eller om den implementerer det angitte grensesnittet. Den tar imot et objekt eller et klassenavn som første parameter, og navnet på foreldreklassen eller grensesnittet som andre parameter. Den tredje valgfrie parameteren bestemmer om klasseautolasting skal tas i betraktning.

Syntaks

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

Eksempel

La oss sjekke arving av enkle klasser:

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

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

Resultat av kjøring av koden:

phptrue

Eksempel

La oss sjekke implementering av et grensesnitt:

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

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

Resultat av kjøring av koden:

phptrue

Eksempel

Sjekk med objekt i stedet for klassenavn:

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

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

Resultat av kjøring av koden:

phptrue

Eksempel

Sjekk av tilfellet hvor klassen ikke er en underklasse:

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

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

Resultat av kjøring av koden:

phpfalse

Se også

  • funksjonen is_a,
    som sjekker tilhørighet til en klasse
  • funksjonen class_parents,
    som returnerer alle foreldre
  • funksjonen get_parent_class,
    som returnerer foreldreklassen
  • funksjonen instanceof,
    operatoren for instanssjekk