trait_exists
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
trait_exists — 检查指定的 trait 是否存在
参数
- trait
- 
     待检查的 trait 的名称 
- autoload
- 
     如果尚未加载,是否使用自动加载(autoload)。 
  +添加备注
  
用户贡献的备注 3 notes
  
  
  Lubaev.K ¶
  
 
  11 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!!!  
  
  astinus dot eberhard at gmail dot com ¶
  
 
  7 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)  
  
  valerio dot bozzolan at gmail dot com ¶
  
 
9 years ago
  What is the default value of $autoload? And in which way traits are autoloaded? Is there something as spl_autoload() for traits?备份地址:http://www.lvesu.com/blog/php/function.trait-exists.php