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 回答