0

私はこの単純なシングルトンクラスを持っています:

public static function getInstance() {                
    if (!self::$_controller) {
        self::$_controller = new self();
    }

    return self::$_controller;
}

PHP 5.3 を使用すると、このコードは正常に動作するように見えますが、PHP 5.2 ではインスタンスが返されないようです。次のような簡単なデバッグ メッセージを入力します。

public static function getInstance() {                
    if (!self::$_controller) {
        self::$_controller = new self();
        echo "I seem to be working";
    }

    return self::$_controller;
}

でも「動いてるみたい」は絶対に響かない。ここで何が起こっていて、どうすれば修正できますか?

4

1 に答える 1

2

以下は、PHP 5.3と5.2の両方で私の最後に機能しています。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set('log_errors', 0);

class SingleTon {
        private static $_controller = null;

        private function __construct() {
                // do something here or leave it blank.
        }

        public static function getInstance() {
                if (!self::$_controller) {
                        self::$_controller = new self();
                        echo "I seem to be working";
                }

                return self::$_controller;
        }
}

$obj = SingleTon::getInstance();
echo "\n";

?>

「稼働しているようです」と表示されます。さらにサポートが必要な場合はお知らせください。

于 2013-09-20T02:41:09.697 に答える