Функција 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,
    која враћа трејтове класе