PHP单态设计模式应用实例
单态设计模式通常包含以下三点:
· 一个私有的构造方法;(确保用户无法通过创建对象对其进行实例化)
· 一个公有的 静态的 方法;(负责对其本身进行实例化)
· 一个私有的 静态的 属性;(用于保存仅有的一个实例化对象)
单态设计模式要求的是仅有一个对象的实例,并且提供一个访问点
单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接
<?php
class singlemode
{
private static $instance=null;
private function __construct(){}
public static function getinstance($obj)
{
if(self::$instance===null)
{
self::$instance=new $obj();
return self::$instance;
}
}
public function __clone()
{
trigger_error('not allowed clone!',E_USER_ERROR);
}
public function usedisplay($method)
{
self::$instance->$method();
}
}
class test
{
public $id=null;
public function __construct()
{
}
public function display()
{
echo '单态设计模式测试!';
}
}
header('content-type:text/html;charset=utf-8');
$single=singlemode::getinstance('test');
$single->display();
$single->id=5;
echo '<br/>'.$single->id;
$single1=singlemode::getinstance('test');
echo '<br/>'.$single->id.'<br/>';
?>