ფუნქცია is_subclass_of
ფუნქცია is_subclass_of ამოწმებს, ეკუთვნის თუ არა ობიექტი ან კლასი მითითებული კლასის შთამომავლებს ან ახორციელებს თუ არა იგი მითითებულ ინტერფეისს. პირველ პარამეტრად იღებს ობიექტს ან კლასის სახელს, მეორედ - მშობელი კლასის ან ინტერფეისის სახელს. მესამე არასავალდებულო პარამეტრი განსაზღვრავს, საჭიროა თუ არა კლასების ავტოიტვირთვის გათვალისწინება.
სინტაქსი
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
მაგალითი
შევამოწმოთ მარტივი კლასების მემკვიდრეობა:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
კოდის შესრულების შედეგი:
true
მაგალითი
შევამოწმოთ ინტერფეისის რეალიზაცია:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
კოდის შესრულების შედეგი:
true
მაგალითი
შემოწმება ობიექტით კლასის სახელის ნაცვლად:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
კოდის შესრულების შედეგი:
true
მაგალითი
შემოწმება შემთხვევის, როდესაც კლასი არ არის შთამომავალი:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
კოდის შესრულების შედეგი:
false
იხილეთ აგრეთვე
-
ფუნქცია is_a,
რომელიც ამოწმებს კლასის კუთვნილებას -
ფუნქცია class_parents,
რომელიც აბრუნებს ყველა მშობელს -
ფუნქცია get_parent_class,
რომელიც აბრუნებს მშობელ კლასს -
ფუნქცია instanceof,
ოპერატორი ეგზემპლარის შემოწმებისთვის