Kazi is_subclass_of
Kazi is_subclass_of inakagua ikiwa kitu au darasa ni mzao wa darasa maalum au inatekeleza interface maalum. Inakubali parameta ya kwanza kama kitu au jina la darasa, ya pili - jina la darasa mzazi au interface. Parameta ya tatu ya hiari inabainisha ikiwa inahitajukuzima wa madarasa.
Syntax
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Mfano
Lets check inheritance of simple classes:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Result of code execution:
true
Mfano
Lets check interface implementation:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Result of code execution:
true
Mfano
Checking with object instead of class name:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Result of code execution:
true
Mfano
Checking case when class is not a descendant:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Result of code execution:
false
Angalia pia
-
kazi is_a,
inayokagua ushiriki katika darasa -
kazi class_parents,
inayorudisha wazazi wote -
kazi get_parent_class,
inayorudisha darasa la mzazi -
kazi instanceof,
operator ya kukagua mfano