Funksjonen trait_exists

Funksjonen trait_exists sjekker om den angitte trait-en eksisterer i gjeldende scope. Det første parameteret funksjonen tar er navnet på trait-en som en streng, det andre (valgfrie) - er en flagg som indikerer om autolasting av klasser skal brukes.

Syntaks

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

Eksempel

La oss sjekke om en trait eksisterer:

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

Resultat av kjøring av koden:

phptrue

Eksempel

La oss sjekke en ikke-eksisterende trait med autolasting deaktivert:

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

Resultat av kjøring av koden:

phpfalse

Eksempel

Bruk av funksjonen i en betinget setning:

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

Resultat av kjøring av koden (hvis trait-en ikke er deklarert):

php'Trait does not exist'

Se også