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
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Shembull
Le të kontrollojmë trashëgiminë e klasave të thjeshta:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Rezultati i ekzekutimit të kodit:
true
Shembull
Le të kontrollojmë implementimin e ndërfaqes:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Rezultati i ekzekutimit të kodit:
true
Shembull
Kontrollimi me objekt në vend të emrit të klasës:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Rezultati i ekzekutimit të kodit:
true
Shembull
Kontrollimi i rastit kur klasa nuk është pasardhëse:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Rezultati i ekzekutimit të kodit:
false
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