PHP单态设计模式 单例设计模式 单件设计模式

猫斯基  — PHP


什么是设计模式

如果想让一个类,只能有一个对象,就要先让这个类,不能创建对象,即将构造方法私有化。

可以在类的内部使用一个静态方法创建对象。

/**
 * @url https://maosiji.com
ds
 */
class Person {
	
	static $obj = null;
	
	private function __construct() {
		
	}
	
	static function getObj() {
		// 第一次调用时,没有对象,则创建对象;以后调用时,直接使用第一次创建的对象
		if ( is_null( self::$obj ) ) {
			self::$obj = new self;
		}
		
		return self::$obj;
	}
	
	function say() {
		echo '说<br>';
	}
	
	function __destruct() {
		echo '释放了';
	}
	
}

$o = Person::getObj();
$o = Person::getObj();
$o = Person::getObj();
$o->say();

/*
打印结果:
说
释放了
*/

阅读量:0 2021-01-23 15:53

返回顶部