Funkcija is_subclass_of
Funkcija is_subclass_of preverja, ali objekt ali razred spada med potomce navedenega razreda ali ali implementira navedeni vmesnik. Kot prvi parameter sprejme objekt ali ime razreda, kot drugega pa ime nadrejenega razreda ali vmesnika. Tretji neobvezni parameter določa, ali je treba upoštevati samodejno nalaganje razredov.
Sintaksa
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Primer
Preverimo dedovanje preprostih razredov:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Rezultat izvajanja kode:
true
Primer
Preverimo implementacijo vmesnika:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Rezultat izvajanja kode:
true
Primer
Preverjanje z objektom namesto imena razreda:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Rezultat izvajanja kode:
true
Primer
Preverjanje primera, ko razred ni potomec:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Rezultat izvajanja kode:
false
Glejte tudi
-
funkcijo is_a,
ki preverja pripadnost razredu -
funkcijo class_parents,
ki vrne vse nadrejene -
funkcijo get_parent_class,
ki vrne nadrejeni razred -
funkcijo instanceof,
operator preverjanja instance