Home  >  Article  >  Backend Development  >  Simple code introduction to PHP singleton mode

Simple code introduction to PHP singleton mode

黄舟
黄舟Original
2017-03-16 09:12:381515browse

PHPSimple code introduction to singleton mode

<?php
// 单例模式

class Singleton
{
	protected static $ins = null;

	/**
	 * 禁止子类重载 construct() 构造方法
	 */
	private final function construct() {
		// 禁止 new
	}

	/**
	 * 禁止子类重载 clone() 方法
	 */
	protected final function clone() {
		// 禁止 clone
	}

	/*
	public static function getIns() {
		if(self::$ins === null){
			self::$ins = new self();
		}
		return self::$ins;
	}
	*/

	/**
	 * 后期静态绑定
	 */
	public static function getIns() {
		if(static::$ins === null){
			static::$ins = new static();
		}
		return static::$ins;
	}
}

$obj1 = Singleton::getIns();
$obj2 = Singleton::getIns();
var_dump($obj1 === $obj2); //true
// $obj3 = clone $obj1; //不能被克隆

The above is the detailed content of Simple code introduction to PHP singleton mode. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn