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

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

