Функция trait_exists
Функция trait_exists
проверяет, существует ли указанный трейт в текущей области видимости. Первым параметром функция принимает имя трейта в виде строки, вторым (необязательным) - флаг, указывающий нужно ли использовать автозагрузку классов.
Синтаксис
trait_exists(string $traitname, bool $autoload = true): bool
Пример
Проверим существование трейта:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Результат выполнения кода:
true
Пример
Проверим несуществующий трейт с отключенной автозагрузкой:
<?php
$res = trait_exists('NonExistentTrait', false);
var_dump($res);
?>
Результат выполнения кода:
false
Пример
Использование функции в условном операторе:
<?php
if (trait_exists('Loggable')) {
echo 'Trait exists';
} else {
echo 'Trait does not exist';
}
?>
Результат выполнения кода (если трейт не объявлен):
'Trait does not exist'
Смотрите также
-
функцию class_exists,
которая проверяет класс -
функцию interface_exists,
которая проверяет интерфейс -
функцию get_declared_traits,
которая возвращает трейты -
функцию class_uses,
которая возвращает трейты класса