php中static和const關(guān)鍵字用法分析
本文實(shí)例講述了php中static和const關(guān)鍵字用法。分享給大家供大家參考,具體如下:
static關(guān)鍵字在類中描述的成員屬性和成員函數(shù)都是靜態(tài)的。
static成員能限制外部的訪問,因?yàn)閟tatic成員是屬于類的,而不是屬于任何對(duì)象實(shí)例。
從內(nèi)存的角度講,其中對(duì)象是放在“堆內(nèi)存”中,對(duì)象的引用是放在“棧內(nèi)存”中,而靜態(tài)成員被放在初始化靜態(tà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ó)-江蘇
類中的靜態(tài)方法只能訪問類的靜態(tài)的屬性。類中的靜態(tài)的方法是不能訪問類的非靜態(tài)的成員的。我們用self來訪問類中的靜態(tài)屬性。self與this相似,只不過self代表靜態(tài)方法所在的類,this相似,只不過self代表靜態(tài)方法所在的類,this引用指針,代表調(diào)用此方法的對(duì)象。靜態(tài)方法是不用對(duì)象調(diào)用的,所有就沒有this這個(gè)引用了。沒有this這個(gè)引用了。沒有this,就沒辦法調(diào)用類中的其他的成員屬性。
const是一個(gè)定義常量的關(guān)鍵字。在類里面常用const來定義常量。用“const”修飾的成員屬性的訪問方式和“static”修飾的成員訪問的方式差不多,也是使用“類名”,在方法里面使用“self”關(guān)鍵字。但是不用使用“$”符號(hào),也不能使用對(duì)象來訪問。
<?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基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(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)文章
json的鍵名為數(shù)字時(shí)的調(diào)用方式(示例代碼)
json的鍵名為數(shù)字時(shí)的調(diào)用方式(示例代碼)。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-11-11php自定義時(shí)間轉(zhuǎn)換函數(shù)示例
這篇文章主要介紹了php自定義時(shí)間轉(zhuǎn)換函數(shù),可實(shí)現(xiàn)時(shí)間戳與字符串時(shí)間顯示格式之間的轉(zhuǎn)換功能,需要的朋友可以參考下2016-12-12PHP采用自定義函數(shù)實(shí)現(xiàn)遍歷目錄下所有文件的方法
這篇文章主要介紹了PHP采用自定義函數(shù)實(shí)現(xiàn)遍歷目錄下所有文件的方法,是PHP程序開發(fā)中常見的功能,需要的朋友可以參考下2014-08-08PHP使用數(shù)組實(shí)現(xiàn)隊(duì)列
PHP的數(shù)組處理函數(shù)還可以將數(shù)組實(shí)現(xiàn)隊(duì)列,堆棧是“先進(jìn)后出”。在堆棧中,最后壓入的數(shù)據(jù)(進(jìn)棧),將會(huì)被最先彈出(出棧)。而隊(duì)列是先進(jìn)先出,就如同銀行的排號(hào)機(jī)2012-02-02Windows下安裝PHP單元測(cè)試環(huán)境PHPUnit圖文教程
這篇文章主要介紹了Windows下安裝PHP單元測(cè)試環(huán)境PHPUnit圖文教程,按照本文操作即可在Windows下安裝成功PHPUnit,需要的朋友可以參考下2014-10-10PHP 數(shù)字左側(cè)自動(dòng)補(bǔ)0
舉例來說:?jiǎn)T工的工號(hào) X001 雖然 MySQL 本身的字段設(shè)定成 zerofill 的屬性時(shí),會(huì)將不足位數(shù)的部份補(bǔ)上0,但是這個(gè)功能只能用在數(shù)字的字段上面。 所以必要的時(shí)候只好靠PHP來進(jìn)行了。2008-03-03