這裡分析了php物件導向中static靜態屬性和靜態方法的呼叫。關於它們的呼叫(能不能呼叫,怎麼樣呼叫),需要弄明白了他們在記憶體中存放位置,這樣就非常容易理解了。靜態屬性、方法(包括靜態與非靜態)在記憶體中,只有乙個位置(而非靜態屬性,有多少例項化物件,就有多少個屬性)。
例項:header(「content-type:text/html;charset=utf-8」);
class human
public function say() } p
1=ne
whum
an()
; p1->say(); p1
−>te
ll()
;//對
象可以訪
問靜態方
法ech
o p1::na
me;/
/物件訪
問靜態屬
性。不能
這麼訪問
p1->name
//因為靜態屬性的記憶體位置不在物件裡
human::say();//錯。say()方法有th
is時出
錯;沒有
php靜態變數
在函式執行完後,變數值仍然儲存,並沒有變回初始設定的值0。function test test test test 結果 1 23可以發現a設定靜態變數之後,每次 a的值都儲存下來了。我剛開始還以為這個變數變成了全域性變數,測試發現這個變數 a依然只能在函式裡呼叫,在函式外是不能呼叫的。我們再來看看...
PHP類的靜態方法和靜態變數
在php中,訪問類的方法 變數有兩種方法 1.建立物件 object new class 然後使用 呼叫 object attribute function,前提是該變數 方法可訪問。2.直接呼叫類方法 變數 class attribute function,無論是靜態 非靜態都可以。但是有前提條件...
靜態域 靜態變數 靜態方法
static關鍵字修飾的域 class employee 這裡employee物件有乙個例項域id和乙個靜態域nextid,每乙個employee物件都有乙個例項域id,但是所有的物件共享乙個靜態域nextid。假設有1000個employee物件,則有1000個例項域id,但是,只有乙個靜態域ne...