欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

discuz X的单件模式

程序员文章站 2024-02-16 11:42:16
...
文章介绍了一个关于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]

上一篇: destoon复制新模块的方法

下一篇: