Функция 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,
    экземплярни текшириш оператори