Função trait_exists
A função trait_exists verifica se o trait especificado existe no escopo atual. O primeiro parâmetro da função aceita o nome do trait como uma string, o segundo (opcional) - um flag que indica se deve usar o carregamento automático de classes.
Sintaxe
trait_exists(string $traitname, bool $autoload = true): bool
Exemplo
Vamos verificar a existência de um trait:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Resultado da execução do código:
true
Exemplo
Vamos verificar um trait inexistente com o carregamento automático desativado:
<?php
$res = trait_exists('NonExistentTrait', false);
var_dump($res);
?>
Resultado da execução do código:
false
Exemplo
Uso da função em uma estrutura condicional:
<?php
if (trait_exists('Loggable')) {
echo 'Trait existe';
} else {
echo 'Trait não existe';
}
?>
Resultado da execução do código (se o trait não foi declarado):
'Trait não existe'
Veja também
-
a função class_exists,
que verifica uma classe -
a função interface_exists,
que verifica uma interface -
a função get_declared_traits,
que retorna os traits -
a função class_uses,
que retorna os traits de uma classe