Funksjonen trait_exists
Funksjonen trait_exists sjekker om den angitte trait-en eksisterer i gjeldende scope. Det første parameteret funksjonen tar er navnet på trait-en som en streng, det andre (valgfrie) - er en flagg som indikerer om autolasting av klasser skal brukes.
Syntaks
trait_exists(string $traitname, bool $autoload = true): bool
Eksempel
La oss sjekke om en trait eksisterer:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Resultat av kjøring av koden:
true
Eksempel
La oss sjekke en ikke-eksisterende trait med autolasting deaktivert:
<?php
$res = trait_exists('NonExistentTrait', false);
var_dump($res);
?>
Resultat av kjøring av koden:
false
Eksempel
Bruk av funksjonen i en betinget setning:
<?php
if (trait_exists('Loggable')) {
echo 'Trait exists';
} else {
echo 'Trait does not exist';
}
?>
Resultat av kjøring av koden (hvis trait-en ikke er deklarert):
'Trait does not exist'
Se også
-
funksjonen class_exists,
som sjekker en klasse -
funksjonen interface_exists,
som sjekker et grensesnitt -
funksjonen get_declared_traits,
som returnerer traits -
funksjonen class_uses,
som returnerer klasse sine traits