PHP靜態(tài)方法和靜態(tài)屬性及常量屬性的區(qū)別與介紹
PHP中若使用static關(guān)鍵字來(lái)修飾屬性、方法,稱這些屬性、方法為靜態(tài)屬性、靜態(tài)方法。static關(guān)鍵字聲明一個(gè)屬性或方法是和類相關(guān)的,而不是和類的某個(gè)特定的實(shí)例相關(guān),因此,這類屬性或方法也稱為“類屬性”或“類方法”。
程序中為什么要使用靜態(tài)方法和屬性呢?它們有幾個(gè)特性是比較有用的:不需要實(shí)例化類就可以訪問(wèn)靜態(tài)方法和屬性,在代碼的任何地方都可以使用!
<?php
class Example{
static public $num = 0;
static public function staticFunc(){
self::$num++;
print self::$num;
}
}
echo Example::$num;
echo Example::staticFunc();
?>
需要注意的是:
1.靜態(tài)方法不能訪問(wèn)普通屬性,只能訪問(wèn)靜態(tài)屬性
2.靜態(tài)方法是以類為作用域的,所以不用實(shí)例化就可以使用::來(lái)連接靜態(tài)屬性和靜態(tài)方法
3.靜態(tài)方法中不能使用偽關(guān)鍵詞
那么常量屬性和靜態(tài)屬性有什么區(qū)別呢?
<?php
class Example{
const NUM = 0;
//...
}
?>
常量屬性不以$開(kāi)頭 而是以大寫(xiě)字母命名,他與靜態(tài)屬性的區(qū)別是它不可以被重新復(fù)制,否則會(huì)解析錯(cuò)誤。
常量屬性
有些屬性是不能改變的
在PHP 5可以在類中定義常量屬性,和全局變量一樣,類常量一旦設(shè)置后就不能改變。常量屬性用const關(guān)鍵字來(lái)聲明。常量不像常規(guī)屬性那樣以 $ 開(kāi)頭。按照慣例,只能用大寫(xiě)字母來(lái)命名常量,如下所示:
class shopProduct {
constAVAILABLE = 0;
//…
}
常量屬性只包含基本數(shù)據(jù)類型的值。不能將一個(gè)對(duì)象指派給常量。像靜態(tài)屬性一樣,只能通過(guò)類而不能通過(guò)類的實(shí)例訪問(wèn)常量屬性。引用常量時(shí)不需要用 $ 作為前導(dǎo)符,如下所示:
echoshopProduct::AVAILABLE;
給已經(jīng)聲明過(guò)的常量賦值會(huì)引起解析錯(cuò)誤。
當(dāng)需要在類的所有實(shí)例中都能訪問(wèn)某個(gè)屬性,并且屬性值無(wú)需改變時(shí),應(yīng)該使用常量。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
mayfish 數(shù)據(jù)入庫(kù)驗(yàn)證代碼
mayfish 可以靈活的自定義將要執(zhí)行寫(xiě)入的數(shù)據(jù)內(nèi)容的校驗(yàn)規(guī)則,以減少開(kāi)發(fā)人員手動(dòng)對(duì)每一個(gè)字段的數(shù)據(jù)進(jìn)行校驗(yàn)的麻煩。2010-04-04
批量獲取memcache值并按key的順序返回的實(shí)現(xiàn)代碼
一臺(tái)memcache時(shí)返回是正確的,在有多臺(tái)memcache時(shí)就無(wú)法一一對(duì)應(yīng)的按順序返回。2011-06-06
解析php中die(),exit(),return的區(qū)別
本篇文章是對(duì)php中die(),exit(),return的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法分析
這篇文章主要介紹了php使用str_replace替換多維數(shù)組的實(shí)現(xiàn)方法,結(jié)合具體實(shí)例對(duì)比分析了php針對(duì)多維數(shù)組的遍歷與替換操作相關(guān)實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下2017-06-06
php的PDO事務(wù)處理機(jī)制實(shí)例分析
這篇文章主要介紹了php的PDO事務(wù)處理機(jī)制,結(jié)合實(shí)例形式分析了事務(wù)的原理、功能及PDO處理事務(wù)的具體操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-02-02
PHP+ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單功能示例
這篇文章主要介紹了PHP+ajax實(shí)現(xiàn)二級(jí)聯(lián)動(dòng)菜單功能,涉及php結(jié)合ajax的數(shù)據(jù)交互與頁(yè)面元素動(dòng)態(tài)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-08-08

