Функция is_a
Функция is_a приема обект и име на клас, връщайки true, ако обектът е инстанция на този клас или негов наследник. С трети параметър може да се укаже дали да се вземе предвид наследяването (по подразбиране true).
Синтаксис
is_a(object, class_name, allow_string = true);
Пример
Проверем дали обектът принадлежи на класа stdClass:
<?php
$obj = new stdClass();
var_dump(is_a($obj, 'stdClass'));
?>
Резултат от изпълнението на кода:
true
Пример
Проверем наследяването на класове:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$child = new ChildClass();
var_dump(is_a($child, 'ParentClass'));
?>
Резултат от изпълнението на кода:
true
Пример
Проверем работата с интерфейси:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$obj = new MyClass();
var_dump(is_a($obj, 'MyInterface'));
?>
Резултат от изпълнението на кода:
true
Вижте също
-
функцията is_subclass_of,
която проверява наследяване -
функцията instanceof,
оператор за проверка на инстанция -
функцията get_class,
която връща класа на обекта -
функцията class_implements,
която връща интерфейсите на класа