📜  PHP trait_exists()函数

📅  最后修改于: 2022-05-13 01:54:10.684000             🧑  作者: Mango

PHP trait_exists()函数

PHP实现了一种称为 Traits 的重用代码的方法。 PHP的trait_exists()函数是一个内置函数,用于检查特征是否存在。该函数接受traitnameautoload作为参数,如果 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