2014-02-08 5 views
0

나는 Api라는 모델을 가지고 있습니다.null 대신 int를 반환하는 CakePHP 모델의 함수

셸 스크립트에서 액세스하고 있습니다.

실행

내 쉘 스크립트 기능 :

public function verifyTransactions(){ 
     $result =$this->out($this->Api->verifyNumber()); 
     $this->out(var_dump($result)); 
    } 

이 출력 여기서

int(2) 

이 API를 모델에서 기능입니다 :

public function verifyNumber(){ 
    return null; 
} 

내가 만드는 시도했다 return null에 null을 반환합니다 (부울 값). "jibberish"와 같은 문자열을 반환합니다.

하지만 여전히 내가 그것을 인쇄 할 때 개체 참조 또는 뭔가 다른 형식의 int 형식으로 얻을.

나는 누군가가 좋지 않을까을 지적 할 수 있다면 내가 이상, 실제 간단한 무언가를 검토 한 결과 확신 )

감사

편집 :

아 오류가 내가 거기에 $ this-> 아웃있어 두 번

답변

1

, 왜 alltogether $ this->을 사용하지하지?

public function verifyTransactions(){ 
    if(is_null($this->Api->verifyNumber()){ 
     //do null stuff. Could even use the out method you have been trying to avoid... 
     $this->out('got null back from Api'); 
    } 
} 

이 현재는 $ this->와 변수를 설정하는 ... ...

public function verifyTransactions(){ 
    var_dump($this->Api->verifyNumber()); 
} 

또는를

정확히 같은 당신의 API 메소드를두고 verifyTransaction 방법은 간단하게 할 수있다 out 도우미 ... $ this-> out은 읽을 수있는 출력을 처리하기위한 것이지 결코 변수를 설정하는 것은 아닙니다 ...하지 마십시오 ...

$result =$this->out($this->Api->verifyNumber()); 

그냥 ...

$result = $this->Api->verifyNumber(); 
1

Shell::out() 전자에 기록 된 바이트 수 또는 false를 반환 반가워요, 그래서 왜 당신이 다른 것을 돌려 줄지 왜 나는 모르겠어요. 당신이 Api::verifyNumber()의 반환 값을 다시해야하는 경우

는 직접 먼저 변수에 저장해야 http://api.cakephp.org/2.4/class-Shell.html#_out

를 참조하십시오. 당신이 출력에 반환 (NULL) 값을가는 그냥 comparisions을 위해 그것을 사용하지 않으면

public function verifyTransactions(){ 
    $result = $this->Api->verifyNumber(); 
    $this->out($result); 
    // ... 
} 
관련 문제