関数 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,
クラスが使用するトレイトを返します