PHP self關(guān)鍵字指向類靜態(tài)變量
PHP中的關(guān)鍵字是一個(gè)非常重要的內(nèi)容,對(duì)于初學(xué)者來說必須要牢固的掌握關(guān)鍵字的知識(shí)。下面我們就來自習(xí)研究一下PHP self關(guān)鍵字的相關(guān)知識(shí)。#t#
首先我們要明確一點(diǎn),self是指向類本身,也就是PHP self關(guān)鍵字是不指向任何已經(jīng)實(shí)例化的對(duì)象,一般self使用來指向類中的靜態(tài)變量。
- < ?php
- class Counter
- {
- //定義屬性,包括一個(gè)靜態(tài)變量
- private static $firstCount = 0;
- private $lastCount;
- //構(gòu)造函數(shù)
- function __construct()
- {
- $this->lastCount = ++selft
::$firstCount;
//使用PHP self關(guān)鍵字來調(diào)用靜態(tài)變量,使用self
調(diào)用必須使用::(域運(yùn)算符號(hào)) - }
- //打印最次數(shù)值
- function printLastCount()
- {
- print( $this->lastCount );
- }
- }
- //實(shí)例化對(duì)象
- $countObject = new Counter();
- $countObject->printLastCount();
//輸出 1 - ?>
我 們這里只要注意兩個(gè)地方,第6行和第12行。我們在第二行定義了一個(gè)靜態(tài)變量$firstCount,并且初始值為0,那么在12行的時(shí)候調(diào)用了這個(gè)值 得,使用的是PHP self關(guān)鍵字來調(diào)用,并且中間使用"::"來連接,就是我們所謂的域運(yùn)算符。
那么這時(shí)候我們調(diào)用的就是類自己定義的靜態(tài)變量$ frestCount,我們的靜態(tài)變量與下面對(duì)象的實(shí)例無關(guān),它只是跟類有關(guān),那么我調(diào)用類本身的的,那么我們就無法使用this來引用,可以使用PHP self關(guān)鍵字來引用,因?yàn)閟elf是指向類本身,與任何對(duì)象實(shí)例無關(guān)。換句話說,假如我們的類里面靜態(tài)的成員,我們也必須使用self來調(diào)用。