单例模式保证某个类只有一个实例;
1,静态成员变量保存类的唯一实例
2,声明构造函数和克隆方法为私有,防止new一个实例
3,提供一个公共的静态方法来访问这个实例,返回唯一实例的的引用
class instancedemo
{
private static $_instance;//静态成员变量保存唯一的实例
private function __construct()//构造函数
{
echo 'i am construceted';
}
public static function getinstance()
{
if(!isset(self::$_instance))
{
$c=__class__;
self::$_instance=new $c;//new self()
}
return self::$_instance;
}
//覆盖__clone()方法,禁止克隆
private function __clone()
{
echo 禁止clone;
}
function test()
{
echo(test instance);
}
}
//调用静态的共有方法得到唯一的一个实例
$test = instancedemo::getinstance();
$test->test();
//禁止克隆哦
$test_clone = clone $test;
?>
http://www.bkjia.com/phpjc/477767.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/477767.htmltecharticle单例模式保证某个类只有一个实例; 1,静态成员变量保存类的唯一实例 2,声明构造函数和克隆方法为私有,防止new一个实例 3,提供一个...