is_subclass_of ֆունկցիա

is_subclass_of ֆունկցիան ստուգում է, արդյոք օբյեկտը կամ դասը պատկանում է նշված դասի ժառանգներին, թե արդյոք այն իրականացնում է նշված ինտերֆեյսը: Առաջին պարամետրով ընդունում է օբյեկտ կամ դասի անուն, երկրորդով՝ ծնող դասի կամ ինտերֆեյսի անուն: Երրորդ ոչ պարտադիր պարամետրը որոշում է, արդյոք անհրաժեշտ է հաշվի առնել դասերի ավտոլoading-ը:

Շարահյուսություն

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 ֆունկցիան,
    օբյեկտի ստուգման օպերատորը