PHP单例模式 构造方法

对于单例模式,首先说一下好处:

    单例模式通俗的来说就是在PHP的类实例化中,他的实例化对象是唯一的。

    使用单例模式首先需要满足以下3点:

1. 它们必须拥有一个构造函数,并且必须被标记为private

2. 它们拥有一个保存类的实例的静态成员变量

3. 它们拥有一个访问这个实例的公共的静态方法


    实例:

<?php 
/**
* 单例模式
*/
class Demo
{
	// 1.静态私有属性,保存当前类的实例
	private static $instance = null;

	// 2.构造方法私有化,禁止new实例
	private function __construct()
	{
		# code...
	}

	// 3.克隆方法私有化,禁止外部克隆
	private function __clone()
	{
		// TODO:Implement __clone() methed.
	}

	// 4.生成当前类的唯一实例
	public static function getInstance()
	{
		// 首先进行判断,如果不是当前类的实例,那么实例化当前类创建新的实例
		if(!self::$instance instanceof self)
		{
			self::$instance = new self();
		}

		return self::$instance;
	}
}

$db = Demo::getInstance();
/*$dc = new Demo();*/
var_dump($db);
 ?>

单例类不能再其它类中直接实例化,只能被其自身实例化。它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用。

猜你喜欢

转载自blog.csdn.net/qq_39218605/article/details/80338193