Funktsioon is_subclass_of

Funktsioon is_subclass_of kontrollib, kas objekt või klass kuulub määratud klassi järeltulijate hulka või rakendab see määratud liidest. Esimeseks parameetriks võtab objekti või klassi nime, teiseks - vanemklassi või liidese nime. Kolmas valikuline parameeter määrab, kas klassi automaatset laadimist tuleb arvestada.

Süntaks

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

Näide

Kontrollime lihtsate klasside pärimist:

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

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

Koodi täitmise tulemus:

phptrue

Näide

Kontrollime liidese rakendamist:

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

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

Koodi täitmise tulemus:

phptrue

Näide

Kontroll objektiga klassi nime asemel:

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

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

Koodi täitmise tulemus:

phptrue

Näide

Juhu kontroll, kui klass ei ole järeltulija:

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

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

Koodi täitmise tulemus:

phpfalse

Vaata ka

  • funktsiooni is_a,
    mis kontrollib klassi kuuluvust
  • funktsiooni class_parents,
    mis tagastab kõik vanemad
  • funktsiooni get_parent_class,
    mis tagastab vanemklassi
  • funktsiooni instanceof,
    eksemplari kontrolli operaator