本文主要和大家分享php设计模式之单例模式demo,希望能帮助大家更好的学习php单例模式。
<?php/**
* 设计模式之单例模式
* $_instance必须声明为静态的私有变量
* 构造函数和析构函数必须声明为私有,防止外部程序new
* 类从而失去单例模式的意义
* getinstance()方法必须设置为公有的,必须调用此方法
* 以返回实例的一个引用
* ::操作符只能访问静态变量和静态函数
* new对象都会消耗内存
* 使用场景:最常用的地方是数据库连接。
* 使用单例模式生成一个对象后,
* 该对象可以被其它众多对象所使用。
*/class example{//保存例实例在此属性中
private static $_instance;//构造函数声明为private,防止直接创建对象
public function __construct()
{
//初始的方法
}//单例方法
public static function getinstance()
{
if(!isset(self::$_instance))
{ $c=__class__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 这个写法会出错,因为构造方法被声明为private//$test = new example;// 下面将得到example类的单例对象$test = example::getinstance();$test->test();?>
<?php/**
* 设计模式之单例模式
* $_instance必须声明为静态的私有变量
* 构造函数和析构函数必须声明为私有,防止外部程序new
* 类从而失去单例模式的意义
* getinstance()方法必须设置为公有的,必须调用此方法
* 以返回实例的一个引用
* ::操作符只能访问静态变量和静态函数
* new对象都会消耗内存
* 使用场景:最常用的地方是数据库连接。
* 使用单例模式生成一个对象后,
* 该对象可以被其它众多对象所使用。
*/class example{//保存例实例在此属性中
private static $_instance;//构造函数声明为private,防止直接创建对象
public function __construct()
{
//初始的方法
}//单例方法
public static function getinstance()
{
if(!isset(self::$_instance))
{ $c=__class__; self::$_instance=new $c;
} return self::$_instance;
} function test()
{
echo("test");
}
}// 这个写法会出错,因为构造方法被声明为private//$test = new example;// 下面将得到example类的单例对象$test = example::getinstance();$test->test();?>
相关推荐:
php单例模式的简单用法分享
php单例模式实例分析
什么是php单例模式?单例模式用法详解
以上就是php单例模式demo详解的详细内容。
