Функция trait_exists

Функция trait_exists проверяе дали указаният трейт съществува в текущата област на видимост. Първият параметър функцията приема името на трейта под формата на низ, вторият (незадължителен) - флаг, указващ дали трябва да се използва автоматично зареждане на класове.

Синтаксис

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

Пример

Проверяване дали трейт съществува:

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

Резултат от изпълнението на кода:

phptrue

Пример

Проверяване на несъществуващ трейт с изключено автоматично зареждане:

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';
  }
?>

Резултат от изпълнението на кода (ако трейтът не е деклариран):

php'Trait does not exist'

Вижте също

  • функция class_exists,
    която проверява клас
  • функция interface_exists,
    която проверява интерфейс
  • функция get_declared_traits,
    която връща трейтове
  • функция class_uses,
    която връща трейтовете на клас