PHP的單例模式--三私一公

注意:

1.外部不可以實例化,因此內部實例化函數的類型必須爲靜態,在類未實例化之前就已經初始化;

2.靜態函數只能訪問靜態變量,所以定義private static $instance;

3.靜態變量的訪問寫法爲:類名::$變量名,在類內部可以直接寫self:$instance

4.可以用instanceof這個關鍵字檢測變量中存放的是不是當前的類實例。

<?php
//php下的單例模式
class Single
{
	private static $instance;
	//防止在外部進行 實例化   new Single
	private function __construct()
	{

	}

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

		return self::$instance;
	}

	//防止被克隆  $b=clone $a
	private function __clone()
	{

	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章