2011-03-16 4 views
0

싱글 톤 클래스를 만들었지 만 클래스 객체 대신 부울 값을 반환하도록 인스턴스를 만드는 정적 함수를 사용하고 싶습니다. 지금 설치하는 방식대로 작동하지 않아 인스턴스 만 반환 할 수 있다고 생각하게 만듭니다. 즉, 함수는 true 또는 false를 반환하지 않습니다. 아무것도 반환하지 않습니다.PHP - 부울을 반환하는 싱글 톤

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

당신이 작동하지 않는 무엇을 의미합니까? – BoltClock

+0

이 함수는 _cache 객체 (자체)를 인스턴스화하지만 true 또는 false를 반환하지 않습니다. 그냥 아무것도 반환하지 않습니다. – bflemi3

+1

readFile() 및 file_exists()가 의도 한대로 작동합니까? 어쩌면 코드가 깨져 코드가 return 문에 도달하지 못할 수도 있습니다. –

답변

0

변경 # 1 :

private static $_cache = NULL; 

변경 # 2 :

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

OP가 현재 가지고있는 것과는 어떤 차이가 있습니까? – BoltClock

+0

나는 당신이 오해하고 있다고 생각합니다. true 또는 false를 반환하려고합니다. 함수의 인스턴스화 부분이 정상적으로 작동합니다. – bflemi3