Συνάρτηση trait_exists
Η συνάρτηση trait_exists ελέγχει εάν το καθορισμένο trait υπάρχει στην τρέχουσα εμβέλεια ορατότητας. Ως πρώτη παράμετρο η συνάρτηση δέχεται το όνομα του trait ως συμβολοσειρά, ως δεύτερη (προαιρετική) - μια σημαία που υποδεικνύει εάν πρέπει να χρησιμοποιηθεί η αυτόματη φόρτωση κλάσεων.
Σύνταξη
trait_exists(string $traitname, bool $autoload = true): bool
Παράδειγμα
Ας ελέγξουμε την ύπαρξη trait:
<?php
trait MyTrait {
public function sayHello() {
echo 'Hello';
}
}
$res = trait_exists('MyTrait');
var_dump($res);
?>
Αποτέλεσμα εκτέλεσης κώδικα:
true
Παράδειγμα
Ας ελέγξουμε ένα μη υπάρχον trait με απενεργοποιημένη αυτόματη φόρτωση:
<?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 δεν έχει δηλωθεί):
'Trait does not exist'
Δείτε επίσης
-
συνάρτηση class_exists,
που ελέγχει την κλάση -
συνάρτηση interface_exists,
που ελέγχει τη διεπαφή -
συνάρτηση get_declared_traits,
που επιστρέφει τα traits -
συνάρτηση class_uses,
που επιστρέφει τα traits της κλάσης