Functie trait_exists
De functie trait_exists controleert of de opgegeven trait bestaat in het huidige bereik. De eerste parameter van de functie accepteert de naam van de trait als een string, de tweede (optionele) parameter is een vlag die aangeeft of autoloading van klassen moet worden gebruikt.
Syntaxis
trait_exists(string $traitname, bool $autoload = true): bool
Voorbeeld
Laten we het bestaan van een trait controleren:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Resultaat van het uitvoeren van de code:
true
Voorbeeld
Laten we een niet-bestaande trait controleren met autoloading uitgeschakeld:
<?php
$res = trait_exists('NonExistentTrait', false);
var_dump($res);
?>
Resultaat van het uitvoeren van de code:
false
Voorbeeld
Gebruik van de functie in een voorwaardelijke operator:
<?php
if (trait_exists('Loggable')) {
echo 'Trait exists';
} else {
echo 'Trait does not exist';
}
?>
Resultaat van het uitvoeren van de code (als de trait niet is gedeclareerd):
'Trait does not exist'
Zie ook
-
de functie class_exists,
die een klasse controleert -
de functie interface_exists,
die een interface controleert -
de functie get_declared_traits,
die traits retourneert -
de functie class_uses,
die de traits van een klasse retourneert