Функция trait_exists

Функция trait_exists проверяет, существует ли указанный трейт в текущей области видимости. Первым параметром функция принимает имя трейта в виде строки, вторым (необязательным) - флаг, указывающий нужно ли использовать автозагрузку классов.

Синтаксис

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

Пример

Проверим существование трейта:

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

Результат выполнения кода:

phptrue

Пример

Проверим несуществующий трейт с отключенной автозагрузкой:

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

Результат выполнения кода:

phpfalse

Пример

Использование функции в условном операторе:

php<?php
  if (trait_exists('Loggable')) {
    echo 'Trait exists';
  } else {
    echo 'Trait does not exist';
  }
?>

Результат выполнения кода (если трейт не объявлен):

php'Trait does not exist'

Смотрите также

  • функцию class_exists,
    которая проверяет класс
  • функцию interface_exists,
    которая проверяет интерфейс
  • функцию get_declared_traits,
    которая возвращает трейты
  • функцию class_uses,
    которая возвращает трейты класса