Funktion trait_exists
Die Funktion trait_exists prüft, ob der angegebene Trait im aktuellen Gültigkeitsbereich existiert. Der erste Parameter ist der Name des Traits als Zeichenkette, der zweite (optionale) Parameter ist ein Flag, das angibt, ob der Autoload-Mechanismus für Klassen verwendet werden soll.
Syntax
trait_exists(string $traitname, bool $autoload = true): bool
Beispiel
Überprüfen der Existenz eines Traits:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Ergebnis der Codeausführung:
true
Beispiel
Überprüfen eines nicht existierenden Traits mit deaktiviertem Autoload:
<?php
$res = trait_exists('NonExistentTrait', false);
var_dump($res);
?>
Ergebnis der Codeausführung:
false
Beispiel
Verwendung der Funktion in einer bedingten Anweisung:
<?php
if (trait_exists('Loggable')) {
echo 'Trait exists';
} else {
echo 'Trait does not exist';
}
?>
Ergebnis der Codeausführung (wenn der Trait nicht deklariert ist):
'Trait does not exist'
Siehe auch
-
die Funktion class_exists,
die eine Klasse überprüft -
die Funktion interface_exists,
die ein Interface überprüft -
die Funktion get_declared_traits,
die Traits zurückgibt -
die Funktion class_uses,
die die Traits einer Klasse zurückgibt