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

phptrait_exists(string $traitname, bool $autoload = true): bool

Exemplo

Vamos verificar a existência de um trait:

php<?php
  trait MyTrait {
    public function sayHello() {
      echo 'Hello';
    }
  }
  
  $res = trait_exists('MyTrait');
  var_dump($res);
?>

Resultado da execução do código:

phptrue

Exemplo

Vamos verificar um trait inexistente com o carregamento automático desativado:

php<?php
  $res = trait_exists('NonExistentTrait', false);
  var_dump($res);
?>

Resultado da execução do código:

phpfalse

Exemplo

Uso da função em uma estrutura condicional:

php<?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):

php'Trait não existe'

Veja também