Funkcija is_subclass_of
Funkcija is_subclass_of pārbauda, vai objekts vai klase pieder norādītās klases pēctečiem vai vai tas realizē norādīto interfeisu. Pirmā parametrā pieņem objektu vai klases nosaukumu, otrajā - vecāku klases vai interfeisa nosaukumu. Trešais neobligātais parametrs nosaka, vai ir jāņem vērā automātiskā klašu ielāde.
Sintakse
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Piemērs
Pārbaudīsim vienkāršu klašu mantošanu:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Koda izpildes rezultāts:
true
Piemērs
Pārbaudīsim interfeisa realizāciju:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Koda izpildes rezultāts:
true
Piemērs
Pārbaude ar objektu klases nosaukuma vietā:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Koda izpildes rezultāts:
true
Piemērs
Gadījuma pārbaude, kad klase nav pēctecis:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Koda izpildes rezultāts:
false
Skatiet arī
-
funkciju is_a,
kas pārbauda piederību klasei -
funkciju class_parents,
kas atgriež visus vecākus -
funkciju get_parent_class,
kas atgriež vecāku klasi -
funkciju instanceof,
instances pārbaudes operators