2002-08-03 @ 08:33:48
· 作者 Volcano · 归类于 common
参考了
DevNet 和
Chinaunix.net 的讨论,用以下代码简单实现单子模式(SINGLETON):
代码片段:
<font color="#000000">
<font color="#0000CC"><?php <br /></font><font color="#FF9900">/**<br />* Class: SingletonPool <br />* Store multiple singletons (of different classes, naturally). <br />*<br />*/ <br /></font><font color="#006600">class </font><font color="#0000CC">Singleton </font><font color="#006600">{ <br /><br /> </font><font color="#FF9900">/**<br /> * 返回唯一对象,可保存多个对象<br /> *<br /> * @param (string) $class - the class name <br /> * @return object<br /> * @access public<br /> * @static<br /> */ <br /> </font><font color="#006600">function &</font><font color="#0000CC">getInstance</font><font color="#006600">(</font><font color="#0000CC">$class</font><font color="#006600">) { <br /> static </font><font color="#0000CC">$ob </font><font color="#006600">= array(); <br /><br /> if( !isset(</font><font color="#0000CC">$ob</font><font color="#006600">[</font><font color="#0000CC">$class</font><font color="#006600">]) ) { <br /> </font><font color="#0000CC">$ob</font><font color="#006600">[</font><font color="#0000CC">$class</font><font color="#006600">] = & new </font><font color="#0000CC">$class</font><font color="#006600">; <br /> } <br /><br /> return </font><font color="#0000CC">$ob</font><font color="#006600">[</font><font color="#0000CC">$class</font><font color="#006600">];<br /> } <br /><br />} <br /></font><font color="#0000CC">?></font>
</font>
|
|
作者: Volcano 发表于August 3, 2002 at 8:33 am
版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原始出处和作者信息及此声明
永久链接 - http://www.ooso.net/archives/45
Tags: