2011-05-11 13 views
1

PHP 4でシングルトンクラスを作成することは可能ですか?PHP 4のシングルトンパターン

は、今私は、最小限のPHPのバージョンはそのようなシングルトンを使用するために必要なのは何でも

PHP 4で解析されませんhttp://pastebin.com/4AgZhgAAのようなものがありますか?

+0

なぜこれはPHP 4で最初に必要ですか?それは本当に、本当に死んでいます。それに基づいて新しいソフトウェアを構築することは、本当に悪い考えです。 –

答えて

2

PHP4とOOP ===エンジンのない車(:。

それは可能ですが、非現実的である

このサンプルコードを見て:あなたはない言語でプログラミングする場合

class SomeClass 
{ 
    var $var1; 

    function SomeClass() 
    { 
     // whatever you want here 
    } 

    /* singleton */ 
    function &getInstance() 
    { 
     static $obj; 
     if(!$obj) { 
      $obj = new SomeClass; 
     } 
     return $obj; 
    } 
} 
1

を厳密なOOPでは、力の暗い面を使いやすいです。

function getInstance() { 
    global $singleObj; 

    if (!is_object($singleObj)) $singleObj = new Foo(); 
    return $singleObj; 
} 

厳密なシングルトンより醜い?私はそうは思わない。

(また、PHP4は継承をサポートしていないことを忘れてはいけない - 私はそれにいくつかの時間を費やしてきた。)

+0

"PHP4は継承をサポートしていません" - 申し訳ありませんが、古い投稿ですが、このステートメントは何を意味していますか? PHP4は確かに "継承"をサポートしましたか? – MrWhite

2

あなたはまた、そのようラッパー関数を使用することができます。

function getDB() { 
    static $db; 
    if($db===NULL) $db = new db(); 
    return $db; 
} 
関連する問題