is_subclass_of funksiýasy
Is_subclass_of funksiýasy bir obýektiň ýa-da klassyň görkezilen klassyň nesillerine degişlidigini ýa-da ol görkezilen interfeýsi amala aşyrýandygyny barlaýar. Ilkinji parametr hökmünde obýekti ýa-da klas atyny, ikinji parametr hökmünde ata-ene klasynyň ýa-da interfeýsiň atyny kabul edýär. Üçünji hökmany däl parametr klasslaryň awtoýüklenişini hasaba almalydygyny kesgitleýär.
Sintaksis
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Mysal
Ýönekeý klasslaryň miras alnyşyny barlaýalyň:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Kodyň ýerine ýetirilişiniň netijesi:
true
Mysal
Interfeýsiň amala aşyrylyşyny barlaýalyň:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Kodyň ýerine ýetirilişiniň netijesi:
true
Mysal
Klas aty ýerine obýekt bilen barlag:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Kodyň ýerine ýetirilişiniň netijesi:
true
Mysal
Klas nesil däl ýagdaýy üçin barlag:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Kodyň ýerine ýetirilişiniň netijesi:
false
Şeýle-de görüň
-
is_a funksiýasyny,
klasa degişlidigini barlaýar -
class_parents funksiýasyny,
ähli ata-eneleri gaýtarýar -
get_parent_class funksiýasyny,
ata-ene klassy gaýtarýar -
instanceof funksiýasyny,
instansiýany barlaw operator