您好,登錄后才能下訂單哦!
這篇文章主要講解了“為什么PHP的靜態(tài)成員函數(shù)效率更高”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“為什么PHP的靜態(tài)成員函數(shù)效率更高”吧!
復(fù)制代碼 代碼如下:
<?php // php靜態(tài)方法測(cè)試
header('Content-Type: text/html; charset=utf-8');
class xclass{
public static $var1 = '1111111111111111';
public $var2 = 'aaaaaaaaaaaaa';
public function __construct()
{
$this -> var2 = 'bbbbbbbbbbbbbbbb';
}
public static function secho1()
{
echo self :: $var1 . '<hr />';
}
public function secho2()
{
echo $this -> var2 . '<hr />';
}
public function secho3()
{
echo 'cccccccccccccc<hr />';
}
}
xclass :: secho1();
xclass :: secho3();
echo "------------------------------<br />";
$xc = new xclass();
$xc -> secho1();
$xc -> secho2();
?>
認(rèn)真看上面的范例,會(huì)發(fā)現(xiàn)一個(gè)有趣的地方,secho1()定義為靜態(tài)方法后, 在動(dòng)態(tài)類的對(duì)像實(shí)例中仍可以引用為動(dòng)態(tài)方法,而secho3()也可以被當(dāng)作靜態(tài)成員函數(shù),從這個(gè)層面,不難理解為什么說靜態(tài)成員函數(shù)比動(dòng)態(tài)的快。
可能是由于兼容性原因,php的類成員其實(shí)并無明顯的動(dòng)靜態(tài)之分,所有成員在沒明確聲明的情況下都會(huì)被當(dāng)成靜態(tài)成員存放在特定的內(nèi)存區(qū)中,所以調(diào)用靜態(tài)成員函數(shù)就和調(diào)用普通函數(shù)一樣,速度很快。
但調(diào)用動(dòng)態(tài)類則不同,它要以這個(gè)類結(jié)構(gòu)作為樣本,在內(nèi)存中重新生成一個(gè)對(duì)象實(shí)例,所以多了一個(gè)過程,這對(duì)于簡單的類來說,可能不算什么,但對(duì)于復(fù)雜的類來說這是明顯影響效率的。
感謝各位的閱讀,以上就是“為什么PHP的靜態(tài)成員函數(shù)效率更高”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)為什么PHP的靜態(tài)成員函數(shù)效率更高這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。