Συνάρτηση trait_exists

Η συνάρτηση trait_exists ελέγχει εάν το καθορισμένο trait υπάρχει στην τρέχουσα εμβέλεια ορατότητας. Ως πρώτη παράμετρο η συνάρτηση δέχεται το όνομα του trait ως συμβολοσειρά, ως δεύτερη (προαιρετική) - μια σημαία που υποδεικνύει εάν πρέπει να χρησιμοποιηθεί η αυτόματη φόρτωση κλάσεων.

Σύνταξη

phptrait_exists(string $traitname, bool $autoload = true): bool

Παράδειγμα

Ας ελέγξουμε την ύπαρξη trait:

php<?php
  trait MyTrait {
    public function sayHello() {
      echo 'Hello';
    }
  }
  
  $res = trait_exists('MyTrait');
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phptrue

Παράδειγμα

Ας ελέγξουμε ένα μη υπάρχον trait με απενεργοποιημένη αυτόματη φόρτωση:

php<?php
  $res = trait_exists('NonExistentTrait', false);
  var_dump($res);
?>

Αποτέλεσμα εκτέλεσης κώδικα:

phpfalse

Παράδειγμα

Χρήση της συνάρτησης σε υπό συνθήκη τελεστή:

php<?php
  if (trait_exists('Loggable')) {
    echo 'Trait exists';
  } else {
    echo 'Trait does not exist';
  }
?>

Αποτέλεσμα εκτέλεσης κώδικα (εάν το trait δεν έχει δηλωθεί):

php'Trait does not exist'

Δείτε επίσης

  • συνάρτηση class_exists,
    που ελέγχει την κλάση
  • συνάρτηση interface_exists,
    που ελέγχει τη διεπαφή
  • συνάρτηση get_declared_traits,
    που επιστρέφει τα traits
  • συνάρτηση class_uses,
    που επιστρέφει τα traits της κλάσης