PHP 8.6.0 Beta 1 is available for testing

trait_exists

(PHP 5 >= 5.4.0, PHP 7, PHP 8)

trait_existsVerifica si un trait existe

Descripción

function trait_exists(string $trait, bool $autoload = true ): bool

Parámetros

trait

Nombre del trait a verificar

autoload

Si debe o no cargar automáticamente si no ha sido ya cargado.

Valores devueltos

Retorna true si el trait existe, y false en caso contrario.

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 3 notes

up
9
Lubaev.K
13 years ago
<?php
trait World {
 private static $instance;
 protected $tmp;
 public static function World()
 {
 self::$instance = new static();
 self::$instance->tmp = get_called_class().' '.__TRAIT__;
 
 return self::$instance;
 }
}
if ( trait_exists( 'World' ) ) {
 
 class Hello {
 use World;
 public function text( $str )
 {
 return $this->tmp.$str;
 }
 }
}
echo Hello::World()->text('!!!'); // Hello World!!!
up
1
astinus dot eberhard at gmail dot com
9 years ago
Traits are compatible with class autoload mechanism - in fact, if you look at source code of trait_exists function, you will find similar peace of code (see Zend/zend_builtin_functions.c)
up
-3
valerio dot bozzolan at gmail dot com
10 years ago
What is the default value of $autoload? And in which way traits are autoloaded? Is there something as spl_autoload() for traits?
+add a note

AltStyle によって変換されたページ (->オリジナル) /