Função is_a
A função is_a recebe um objeto e um nome de classe, retornando true se o objeto for uma instância dessa classe ou de seu descendente. Um terceiro parâmetro pode ser usado para especificar se a herança deve ser considerada (por padrão, true).
Sintaxe
is_a(object, class_name, allow_string = true);
Exemplo
Vamos verificar se o objeto pertence à classe stdClass:
<?php
$obj = new stdClass();
var_dump(is_a($obj, 'stdClass'));
?>
Resultado da execução do código:
true
Exemplo
Vamos verificar a herança de classes:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$child = new ChildClass();
var_dump(is_a($child, 'ParentClass'));
?>
Resultado da execução do código:
true
Exemplo
Vamos verificar o funcionamento com interfaces:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$obj = new MyClass();
var_dump(is_a($obj, 'MyInterface'));
?>
Resultado da execução do código:
true
Veja também
-
a função is_subclass_of,
que verifica herança -
a função instanceof,
operador de verificação de instância -
a função get_class,
que retorna a classe do objeto -
a função class_implements,
que retorna as interfaces da classe