PHP - Singleton, который возвращает логическое значение - PullRequest
0 голосов
/ 16 марта 2011

Я создал одноэлементный класс, но мне бы хотелось, чтобы статическая функция, которая создает экземпляр, возвращала логическое значение вместо объекта класса.Это не работает так, как у меня сейчас настроено, что заставляет меня думать, что я могу только вернуть экземпляр.Другими словами, функция не возвращает истину или ложь;ничего не возвращает.

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 голосов
/ 16 марта 2011

Изменение № 1:

 private static $_cache = NULL;

Изменение № 2:

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