>백엔드 개발 >PHP 튜토리얼 > 每天一记之php单例模式实现

每天一记之php单例模式实现

WBOY
WBOY원래의
2016-06-13 12:35:20949검색

每日一记之php单例模式实现

单例模式,顾名思义就是只需要只有一个实例化对象, 在软件的设计中,单例模式是非常常用的。实例化一次,节省了大量的资源,而且单例模式在一定程度上可以替换类中引入全局变量而导致的bug。因为全局变量将类捆绑于特定的环境中。破坏了封装,这样的类很难被其他的应用程序所通用。使用单例模式则能够将类更好的组织,并且复用。

下面一起来看看php中单例模式的实现

<?php class Singleton{
	private static $instance = null;
	//构造方法使用private,防止外部初始化
	private function __construct(){
	
    }    
	/** 不容许深度复制 */
    private function __clone() {
    }
	public static function getInstance(){
		if(null === self::$instance){
			self::$instance = new self();
		}
		return self::$instance;
	}
}



调用代码

$singleton = Singleton::getInstance();
$singleton2 = Singleton::getInstance();


var_dump($singleton === $singleton2);



在上面的调用代码中,在最后将打印true, 这样我们就简单的实现了单例模式。




성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.