程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> discuz X的單件模式

discuz X的單件模式

編輯:關於PHP編程

文章介紹了一個關於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]


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved