[PHP] 纯文本查看 复制代码 <?php
/**
* 单例模式
*/
class Singleton
{
private $parem;
/**
* [__construct 构造方法]
* [url=home.php?mod=space&uid=952169]@Param[/url] [mixed] $param [参数]
*/
private function __construct($param)
{
$this->param = $param;
}
/**
* [Instantiate 静态方法, 用于实例化类]
* @param [mixed] $param [参数]
* [url=home.php?mod=space&uid=155549]@Return[/url] [object] [类对象]
*/
public static function Instantiate($param)
{
static $object = null;
if(!is_object($object)) $object = new self($param);
return $object;
}
/**
* [Show 测试方法]
*/
public function Show()
{
print_r($this->param);
}
}
/**
* 使用列子
*/
$param = array('test', 'demo', 'devil');
$obj = Singleton::Instantiate($param);
$obj->Show();
/**
* $obj = Singleton::Instantiate($param);
* 不管在项目中多少次这么对类进行实例化,都不会重复创建类对象。
* $object 被定义成静态变量,不能被第二次赋值。
* 只要$object是一个对象就直接返回当前对象,则进行实例化并返回。
*
* 单例模式可以防止重复创建对象,减轻内存开销。
*/
?> |