php 靜態(tài)變量的初始化
更新時間:2009年11月15日 23:05:44 作者:
php的成員變量可以在聲明的同時進(jìn)行初始化,但是只能用標(biāo)量進(jìn)行初始化。
例如:
class A {
public $f1 = 'xxxx';
static public $f2 = 100;
}
如果要將變量賦值為對象,那么只能在構(gòu)造器中進(jìn)行初始化,例如:
class A {
private $child;
public function __construct() {
$this->child = new B();
}
}
但是php中并沒有一個類似java中的靜態(tài)構(gòu)造器/靜態(tài)塊的東西,就沒有合適的時機對其進(jìn)行初始化了。
對于共有的成員還有辦法解決,例如:
class A {
static public $child;
}
A::$child = new B();
對于私有的成員似乎就沒有什么干凈的方法了,只能這樣做:
class A {
static private $child;
static public initialize() {
self::$child = new B();
}
}
A::initialize();
class A {
public $f1 = 'xxxx';
static public $f2 = 100;
}
如果要將變量賦值為對象,那么只能在構(gòu)造器中進(jìn)行初始化,例如:
class A {
private $child;
public function __construct() {
$this->child = new B();
}
}
但是php中并沒有一個類似java中的靜態(tài)構(gòu)造器/靜態(tài)塊的東西,就沒有合適的時機對其進(jìn)行初始化了。
對于共有的成員還有辦法解決,例如:
class A {
static public $child;
}
A::$child = new B();
對于私有的成員似乎就沒有什么干凈的方法了,只能這樣做:
class A {
static private $child;
static public initialize() {
self::$child = new B();
}
}
A::initialize();
相關(guān)文章
php簡單開啟gzip壓縮方法(zlib.output_compression)
網(wǎng)上的教程基本是你抄我來我抄他,不外乎加頭加尾或者自構(gòu)函數(shù)兩種寫法。實際上每個php頁面都要去加代碼——當(dāng)然也可以include引用,不過總顯得略微麻煩2013-04-04PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能示例
這篇文章主要介紹了PHP實現(xiàn)的數(shù)組和XML文件相互轉(zhuǎn)換功能,結(jié)合實例形式分析了php針對xml格式數(shù)據(jù)與數(shù)組相互轉(zhuǎn)換操作技巧,需要的朋友可以參考下2018-03-03php實現(xiàn)在服務(wù)器上創(chuàng)建目錄的方法
這篇文章主要介紹了php實現(xiàn)在服務(wù)器上創(chuàng)建目錄的方法,實例分析了php中使用mkdir函數(shù)的使用技巧,需要的朋友可以參考下2015-03-03PHP連接Access數(shù)據(jù)庫的方法小結(jié)
有時候我們在開發(fā)一些小程序或簡單功能的管理系統(tǒng),又沒有mysql數(shù)據(jù)庫的情況下,就可以使用access了,這里介紹下鏈接方法2013-06-06