Funkcija trait_exists

Funkcija trait_exists proverava da li navedeni trejt postoji u trenutnom opsegu vidljivosti. Kao prvi parametar funkcija prima ime trejta u obliku stringa, kao drugi (opcioni) - flag koji ukazuje da li treba koristiti automatsko učitavanje klasa.

Sintaksa

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

Primer

Proverimo postojanje trejta:

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

Rezultat izvršavanja koda:

phptrue

Primer

Proverimo nepostojeći trejt sa isključenim automatskim učitavanjem:

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

Rezultat izvršavanja koda:

phpfalse

Primer

Korišćenje funkcije u uslovnom izrazu:

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

Rezultat izvršavanja koda (ako trejt nije deklarisan):

php'Trait does not exist'

Pogledajte takođe