PHP trait_exists()函数
PHP实现了一种称为 Traits 的重用代码的方法。 PHP的trait_exists()函数是一个内置函数,用于检查特征是否存在。该函数接受traitname和autoload作为参数,如果 trait 存在则返回true ,如果不存在则返回false,如果出现错误则返回null 。
句法 :
trait_exists ( string $traitname , bool $autoload = ? ) : bool
参数:该函数接受上面提到和下面描述的两个参数。
- $traitname:此参数包含特征的名称。
- $autoload:这个参数是一个布尔值,它告诉是否自动加载,如果还没有加载。
返回值:
- 如果存在特征,则返回true 。
- 如果特征不存在,则返回false 。
- 对于遇到的任何错误,它都会返回null 。
示例 1:
PHP
temp = get_called_class().' '.__TRAIT__;
return self::$instance;
}
}
// Checking if 'Programming' Trait exists
if ( trait_exists( 'Programming' ) )
{
class Initializing
{
// Reusing trait 'Programming'
use Programming;
public function text( $strParam )
{
return $this->temp.$strParam;
}
}
}
echo Initializing::Designing()->text('!!!');
?>
PHP
";
}
}
// Creating Trait
trait myTrait {
public function callBase()
{
parent::callBase();
echo 'This is trait function!'."
";
}
}
// Using myTrait
class myClass extends Base
{
use myTrait;
}
$myObject = new myClass();
$myObject->callBase();
// Checking if trait exists
if(trait_exists( "myTrait"))
{
echo "\n myTrait exists! \n";
}
else
{
echo "\n myTrait does not exists! \n";
}
?>
输出:
Initializing Programming!!!
示例 2:
PHP
";
}
}
// Creating Trait
trait myTrait {
public function callBase()
{
parent::callBase();
echo 'This is trait function!'."
";
}
}
// Using myTrait
class myClass extends Base
{
use myTrait;
}
$myObject = new myClass();
$myObject->callBase();
// Checking if trait exists
if(trait_exists( "myTrait"))
{
echo "\n myTrait exists! \n";
}
else
{
echo "\n myTrait does not exists! \n";
}
?>
输出:
This is base function!
This is trait function!
myTrait exists!
参考: https://www. PHP.net/manual/en/ 函数.trait-exists。 PHP