單例模式

<?php
class single{
    public $hash;
    static protected $ins=null;//(1). 需要一個保存類的唯一實例的靜態成員變量:

    final protected function __construct()//(2). 構造函數和克隆函數必須聲明爲私有的,防止外部程序new類從而失去單例模式的意義:

{

        $this->hash=mt_rand(1,100);
    }

    static public function getInstance()(3). 必須提供一個訪問這個實例的公共的靜態方法(通常爲getInstance方法),從而返回唯一實例的一個引用

{

        if(self::$ins instanceof self){
            return self::$ins;
        }
        self::$ins=new self();
        return self::$ins;
    }
}
var_dump(single::getInstance()) ;
var_dump(single::getInstance()) ;
發佈了18 篇原創文章 · 獲贊 3 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章