Функция 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,
която връща трейтовете на клас