Функция 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,
    которая синф трейтларини қайтаради