當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP trait_exists()用法及代碼示例


PHP實現了一種重用代碼的方法,即Traits。 PHP中的trait_exists()函數是一個內置函數,用於檢查特征是否存在。此函數接受特征名稱和自動加載作為參數,如果特征存在,則返回true,否則返回false,如果發生錯誤則返回null。

用法:

trait_exists ( string $traitname , bool $autoload = ? ):bool

參數:該函數接受上麵提到和下麵描述的兩個參數。

  • $traitname:此參數包含特征的名稱。
  • $autoload:此參數是一個布爾值,它指示是否自動加載(如果尚未加載)。

返回值:

  • 如果存在特征,則返回true。
  • 如果特征不存在,則返回false。
  • 對於遇到的任何錯誤,它返回null。

範例1:



PHP

<?php 
  
// Created trait Programming 
trait Programming 
{ 
    // Declared static instance 
    private static $instance; 
    protected $temp; 
   
   // Defining static function in trait to Reuse 
    public static function Designing() 
    { 
        self::$instance = new static(); 
        // Magic constant __TRAIT__ in PHP 
        // It gets the class name for the static method called. 
        self::$instance->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('!!!'); 
  
?>

輸出:

Initializing Programming!!!

範例2:

PHP

<?php  
  
// Creating Base class 
class Base  
{ 
    public function callBase() 
     { 
        echo 'This is base function!'."<br>"; 
     } 
} 
  
// Creating Trait 
trait myTrait { 
    public function callBase()  
    { 
        parent::callBase(); 
         echo 'This is trait function!'."<br>"; 
    } 
} 
  
// 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/function.trait-exists.php

相關用法


注:本文由純淨天空篩選整理自coder36大神的英文原創作品 PHP trait_exists() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。