PHP单态设计模式应用实例

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/>';

?>


你可能感兴趣的:(PHP单态设计模式)