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!
相關用法
- PHP imagecreatetruecolor()用法及代碼示例
- PHP fpassthru( )用法及代碼示例
- PHP ImagickDraw getTextAlignment()用法及代碼示例
- PHP Ds\Sequence last()用法及代碼示例
- PHP Imagick floodFillPaintImage()用法及代碼示例
- PHP array_udiff_uassoc()用法及代碼示例
- PHP geoip_continent_code_by_name()用法及代碼示例
- PHP GmagickPixel setcolor()用法及代碼示例
- PHP opendir()用法及代碼示例
- PHP cal_to_jd()用法及代碼示例
- PHP stream_get_transports()用法及代碼示例
- PHP Ds\Deque pop()用法及代碼示例
- PHP SimpleXMLElement children()用法及代碼示例
- PHP array_intersect_ukey()用法及代碼示例
- PHP Imagick adaptiveSharpenImage()用法及代碼示例
- PHP XMLWriter endDtdEntity()用法及代碼示例
- PHP isset()用法及代碼示例
- PHP ctype_print()用法及代碼示例
注:本文由純淨天空篩選整理自coder36大神的英文原創作品 PHP trait_exists() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。