php中static和const關(guān)鍵字用法分析
本文實(shí)例講述了php中static和const關(guān)鍵字用法。分享給大家供大家參考,具體如下:
static關(guān)鍵字在類(lèi)中描述的成員屬性和成員函數(shù)都是靜態(tài)的。
static成員能限制外部的訪(fǎng)問(wèn),因?yàn)閟tatic成員是屬于類(lèi)的,而不是屬于任何對(duì)象實(shí)例。
從內(nèi)存的角度講,其中對(duì)象是放在“堆內(nèi)存”中,對(duì)象的引用是放在“棧內(nèi)存”中,而靜態(tài)成員被放在初始化靜態(tài)段中,在類(lèi)的第一次加載的時(shí)候加入的??梢宰寣?duì)內(nèi)存中的所有對(duì)象所共享。如下圖所示:

<?php
class Person{
public static $myCountry = "中國(guó)";
public static function say(){
echo "我的祖國(guó)是:".self::$myCountry."<br>";
}
}
//輸出靜態(tài)屬性
echo Person::$myCountry."<br>";
//調(diào)用靜態(tài)方法
Person::say();
//修改靜態(tài)屬性
Person::$myCountry = "中國(guó)-江蘇";
echo Person::$myCountry."<br>";
?>
輸出結(jié)果為:
中國(guó) 我的祖國(guó)是:中國(guó) 中國(guó)-江蘇
類(lèi)中的靜態(tài)方法只能訪(fǎng)問(wèn)類(lèi)的靜態(tài)的屬性。類(lèi)中的靜態(tài)的方法是不能訪(fǎng)問(wèn)類(lèi)的非靜態(tài)的成員的。我們用self來(lái)訪(fǎng)問(wèn)類(lèi)中的靜態(tài)屬性。self與this相似,只不過(guò)self代表靜態(tài)方法所在的類(lèi),this相似,只不過(guò)self代表靜態(tài)方法所在的類(lèi),this引用指針,代表調(diào)用此方法的對(duì)象。靜態(tài)方法是不用對(duì)象調(diào)用的,所有就沒(méi)有this這個(gè)引用了。沒(méi)有this這個(gè)引用了。沒(méi)有this,就沒(méi)辦法調(diào)用類(lèi)中的其他的成員屬性。
const是一個(gè)定義常量的關(guān)鍵字。在類(lèi)里面常用const來(lái)定義常量。用“const”修飾的成員屬性的訪(fǎng)問(wèn)方式和“static”修飾的成員訪(fǎng)問(wèn)的方式差不多,也是使用“類(lèi)名”,在方法里面使用“self”關(guān)鍵字。但是不用使用“$”符號(hào),也不能使用對(duì)象來(lái)訪(fǎng)問(wèn)。
<?php
class MyClass{
const constant = 'constant value';
function showConstant(){
//方法中調(diào)用常量,沒(méi)有$
echo self::constant."<br>";
}
}
//類(lèi)直接調(diào)用,沒(méi)有$
echo MyClass::constant."<br>";
$class = new MyClass();
$class ->showConstant();
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《PHP基本語(yǔ)法入門(mén)教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
- 解析php中static,const與define的使用區(qū)別
- php中g(shù)et_defined_constants函數(shù)用法實(shí)例分析
- 解析php中const與define的應(yīng)用區(qū)別
- PHP常量define和const的區(qū)別詳解
- php 靜態(tài)變量與自定義常量的使用方法
- php預(yù)定義常量
- 深入php define()函數(shù)以及defined()函數(shù)的用法詳解
- 探討php define()函數(shù)及defined()函數(shù)使用詳解
- 理解PHP5中static和const關(guān)鍵字的區(qū)別
- PHP中define() 與 const定義常量的區(qū)別詳解
相關(guān)文章
PHP新手用的Insert和Update語(yǔ)句構(gòu)造類(lèi)
PHP新手用的Insert和Update語(yǔ)句構(gòu)造類(lèi),沒(méi)多大功能,學(xué)習(xí)php的朋友可以參考下2012-03-03
windows下配置php5.5開(kāi)發(fā)環(huán)境及開(kāi)發(fā)擴(kuò)展
這篇文章主要介紹了windows下配置php5.5開(kāi)發(fā)環(huán)境及開(kāi)發(fā)擴(kuò)展,非常的詳細(xì),非常全面,是篇非常不錯(cuò)的php基礎(chǔ)文章,這里推薦給大家。2014-12-12
php數(shù)據(jù)類(lèi)型判斷函數(shù)有哪些
php數(shù)據(jù)類(lèi)型判斷時(shí)需要注意的是is_numeric() 檢測(cè)變量是否為數(shù)字或數(shù)字字符串有別 is_integer()2013-09-09
PHP時(shí)間戳和日期相互轉(zhuǎn)換操作實(shí)例小結(jié)
這篇文章主要介紹了PHP時(shí)間戳和日期相互轉(zhuǎn)換操作,結(jié)合實(shí)例形式總結(jié)分析了php常見(jiàn)的各種日期與時(shí)間戳轉(zhuǎn)換操作使用技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
PHP下利用header()函數(shù)設(shè)置瀏覽器緩存的代碼
PHP高級(jí)應(yīng)用學(xué)習(xí)筆記之 利用header()函數(shù)設(shè)置瀏覽器緩存2010-09-09
實(shí)例解析PHP定時(shí)器的具體實(shí)現(xiàn)
我們?cè)陂_(kāi)發(fā)中常會(huì)需要程序定時(shí)的執(zhí)行一些操作,這時(shí)寫(xiě)一個(gè)簡(jiǎn)潔高效的定時(shí)器就非常有必要,關(guān)于定時(shí)器本文將給大家詳細(xì)的介紹,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值2021-09-09

