文章介紹了一個關於discuz X的單件模式原創文章,PPC高亮插件太不友好了,我直接貼txt內容都會有奇奇怪怪問題發生。
X的只要文件開頭都有這麼一句話
代碼如下 復制代碼$discuz = & discuz_core::instance();
[code language=php]
// instance()屬於discuz_core類在class_core.php
function &instance() {
static $object;
if(empty($object)) {
$object = new discuz_core();
}
return $object;
}
[/code]
這裡保證單詞請求都運用一個discuz_core實例。這裡的&寫法是為了兼容PHP4的,如果在PHP5中,則可以使用static。
[code language=php]
//這裡是單件模式的簡單例子。
class PHPig {
private static $v = null;
static function instance() {
if(self::$v == null) {
self::$v = new PHPig();
}
return self::$v;
}
}
$pig1 = PHPig::instance();
$pig2 = PHPig::instance();
if($pig1 === $pig2) {
echo '同一個對象';
} else {
echo '不是同一個對象';
}
[/code]