Funksioni is_subclass_of

Funksioni is_subclass_of kontrollon nëse një objekt ose klasë i përket pasardhësve të një klase të caktuar ose nëse ai implementon një ndërfaqe të caktuar. Si parametër të parë pranon një objekt ose emër klase, si të dytin - emrin e klasës prind ose ndërfaqes. Parametri i tretë opsional përcakton nëse duhet të merret parasysh ngarkimi automatik i klasave.

Sintaksa

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

Shembull

Le të kontrollojmë trashëgiminë e klasave të thjeshta:

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

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

Rezultati i ekzekutimit të kodit:

phptrue

Shembull

Le të kontrollojmë implementimin e ndërfaqes:

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

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

Rezultati i ekzekutimit të kodit:

phptrue

Shembull

Kontrollimi me objekt në vend të emrit të klasës:

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

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

Rezultati i ekzekutimit të kodit:

phptrue

Shembull

Kontrollimi i rastit kur klasa nuk është pasardhëse:

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

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

Rezultati i ekzekutimit të kodit:

phpfalse

Shihni gjithashtu

  • funksionin is_a,
    i cili kontrollon përkatësinë në një klasë
  • funksionin class_parents,
    i cili kthen të gjithë prindërit
  • funksionin get_parent_class,
    i cili kthen klasën prind
  • funksionin instanceof,
    operatorin e kontrollit të instancës