Функцыя 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,
    якая вяртае трэйты класа