PHP - 返回布尔值的Singleton

时间:2011-03-16 19:56:59

标签: php static singleton

我创建了一个单例类,但是我希望创建实例的静态函数返回一个布尔值而不是类对象。它不像我现在设置的那样工作,这让我觉得我只能返回一个实例。换句话说,该函数不返回true或false;它什么都不返回。

class CacheMachine {
    private static $_cache;

    private function __construct() {}

    public static function CreateNew(&$cacheFile) {
        if(!isset(self::$_cache)) {
            $object = __CLASS__;
            self::$_cache = new $object();
        }
        if(file_exists($cacheFile)) {
            readfile($cacheFile);
            return true;
        } else {
            return false;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

改变#1:

 private static $_cache = NULL;

改变#2:

if(self::$_cache === NULL) {
            $object = __CLASS__;
            self::$_cache = new $object();
        }