Função is_subclass_of
A função is_subclass_of verifica se um objeto ou classe pertence às subclasses de uma classe especificada ou se implementa uma interface especificada. O primeiro parâmetro aceita um objeto ou nome de classe, o segundo - o nome da classe pai ou interface. O terceiro parâmetro opcional determina se o carregamento automático de classes deve ser considerado.
Sintaxe
is_subclass_of(mixed $object_or_class, string $class, bool $allow_string = true): bool
Exemplo
Vamos verificar a herança de classes simples:
<?php
class ParentClass {}
class ChildClass extends ParentClass {}
$res = is_subclass_of('ChildClass', 'ParentClass');
var_dump($res);
?>
Resultado da execução do código:
true
Exemplo
Vamos verificar a implementação de uma interface:
<?php
interface MyInterface {}
class MyClass implements MyInterface {}
$res = is_subclass_of('MyClass', 'MyInterface');
var_dump($res);
?>
Resultado da execução do código:
true
Exemplo
Verificação com objeto em vez do nome da classe:
<?php
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
$res = is_subclass_of($dog, 'Animal');
var_dump($res);
?>
Resultado da execução do código:
true
Exemplo
Verificação do caso em que a classe não é uma subclasse:
<?php
class A {}
class B {}
$res = is_subclass_of('B', 'A');
var_dump($res);
?>
Resultado da execução do código:
false
Veja também
-
a função is_a,
que verifica a pertinência a uma classe -
a função class_parents,
que retorna todos os pais -
a função get_parent_class,
que retorna a classe pai -
a função instanceof,
operador de verificação de instância