文章介紹了一個關于discuz X的單件模式原創(chuàng)文章,PPC高亮插件太不友好了,我直接貼txt內容都會有奇奇怪怪問題發(fā)生.
X的只要文件開頭都有這么一句話,代碼如下:
- $discuz = & discuz_core::instance();
- // instance()屬于discuz_core類在class_core.php
- function &instance() {
- static $object;
- if(emptyempty($object)) {
- $object = new discuz_core();
- }
- return $object;
- }
這里保證單詞請求都運用一個discuz_core實例,這里的&寫法是為了兼容PHP4的,如果在PHP5中,則可以使用static.
- //這里是單件模式的簡單例子。
- class PHPig {
- private static $v = null;
- static function instance() {
- if(self::$v == null) {
- self::$v = new PHPig();
- } //開源代碼Vevb.com
- return self::$v;
- }
- }
- $pig1 = PHPig::instance();
- $pig2 = PHPig::instance();
- if($pig1 === $pig2) {
- echo '同一個對象';
- } else {
- echo '不是同一個對象';
- }
新聞熱點
疑難解答
圖片精選