is_subclass_of функциясы

is_subclass_of функциясы объект же класстын көрсөтүлгөн класстын мураскерби болуп саналабы же ал берилген интерфейсти ишке ашырабы же жокпу текшерет. Биринчи параметри катары объект же класстын атын, экинчиси - ата-эне класстын же интерфейстин атын кабыл алат. Үчүнчү милдеттүү эмес параметр класстарды автоматтык жүктөөнү эске алуу керектигин аныктайт.

Синтаксиси

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

Мисал

Жөнөкөй класстардын мурастоосун текшерейли:

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

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

Кодду иштетүүнүн натыйжасы:

phptrue

Мисал

Интерфейсти ишке ашырууну текшерейли:

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

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

Кодду иштетүүнүн натыйжасы:

phptrue

Мисал

Класстын атынын ордуна объект менен текшерүү:

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

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

Кодду иштетүүнүн натыйжасы:

phptrue

Мисал

Класс мураскер эмес учурду текшерүү:

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

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

Кодду иштетүүнүн натыйжасы:

phpfalse

Ошондой эле караңыз

  • is_a функциясын,
    ал класска тиешелүүлүктү текшерет
  • class_parents функциясын,
    ал бардык ата-энелерди кайтарат
  • get_parent_class функциясын,
    ал ата-эне классты кайтарат
  • instanceof функциясын,
    экземплярды текшерүү оператору