在实际开发中,采用单例子模式用的很多,比如链接数据库操作,日志处理类等操作都可以采用单例模式。

    单例模式其实就是一个类只能拥有一个类的实例,那么如何才能达到这个效果呢?我们在编写类的时候需要满足3个条件既可以达到单例模式效果:

    一、构造函数必须申明为非public类型,这样其他地方就不能通过new来产生实例,这样也能避免产生多个类的实例

    二、类中需要有一个能保存类的实例的静态成员变量,如 $_instance;

    三、拥有一个访问这个实例的公共的静态方法,如  getInstance();

<?php

class Test {
	static private $_instance;

	private function __construct() {
	}

	static public function getInstance() {
		if(!(self::$_instance instanceof self)) {
			self::$_instance = new self();
		}
		return self::$_instance;
	}
}