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