trait_exists

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

trait_exists检查 trait 是否存在

描述

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

参数

trait

要检查的 trait 的名称

autoload

如果尚未加载,是否要 自动加载

返回值

如果 trait 存在,则返回 true,否则返回 false

添加注释

用户贡献的注释 3 个注释

9
Lubaev.K
11 年前
<?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!!!
0
astinus dot eberhard at gmail dot com
7 年前
Traits 与类自动加载机制兼容 - 事实上,如果你查看 trait_exists 函数的源代码,你会发现类似的代码段(参见 Zend/zend_builtin_functions.c)
-1
valerio dot bozzolan at gmail dot com
8 年前
$autoload 的默认值是什么?Traits 是以何种方式自动加载的?是否有类似于 spl_autoload() 的东西用于 Traits?
To Top