2013-06-03 49 views
-1

這是正確的方法,如果我想正確地寫一個Singleton類,以便最多存在一個SingleClass對象。這是如何寫一個PHP的Singleton類?

<?php 
class SingleClass 
{ 
    static $object; 

    static public function getSingleton() 
    { 
     if(!isset(self::$object)) 
     { 
      self::$object = new SingleClass(); 
     } 
     return self::$object; 
    } 

    private function __construct() 
    { 

    } 

} 
$mySingle1 = SingleClass::getSingleton(); // one object made 
$mySingle2 = SingleClass::getSingleton(); // reference to first object returned 
$mySingle3 = SingleClass::getSingleton(); // reference to first object returned 
?> 

如果這是如何完成的我怎麼用if/else函數檢查它呢?

+0

oops謝謝我以爲我給了他們所有那些箭頭說,回答是有用的,並表示感謝他們太... – Dora

回答

2

是的,這是一個PHP的單身人士。我唯一的編輯將是限制克隆操作。這可以通過在__clone魔法中拋出一個異常來實現

+0

我剛給你一個** [銀](http://stackoverflow.com/badges/19/enlightened)**徽章。在三週內通過我的標記 – samayo

+0

@phpNoOb謝謝.... – Orangepill