2014-02-08 30 views
0

我有一個名爲Api的模型。函數返回int而不是null的模型

我從shell腳本訪問哪個。

運行我的shell腳本功能:

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

這個輸出]

int(2) 

這裏是在API模型的功能:

public function verifyNumber(){ 
    return null; 
} 

我試着做返回null返回false(boolean),返回一個字符串,如「jibberish」

但仍然當我打印出來的時候,我得到的類型爲int,其中有一個不同的數字,就像對象引用或其他東西一樣。

我敢肯定我漏掉了一些真正的簡單,如果有人能指出來,這將是真棒;)

感謝

編輯:

啊誤差我在這裏有$ this-> out兩次

回答

1

如果你不打算輸出返回(空)值,只是想用它來comparisions,爲什麼不避免使用$這個 - >出產品總數?

留下您的API方法完全相同,該verifyTransaction方法可能僅僅是...

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

或..

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'); 
    } 
} 

目前正在設置的變量與$這個 - > out幫助者... $ this-> out用於處理可讀輸出,從不用於設置變量...不要做...

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

只...

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

Shell::out()返回寫入的字節數或false rror,所以我不確定爲什麼你會期望它返回別的東西。

http://api.cakephp.org/2.4/class-Shell.html#_out

如果您需要重用的Api::verifyNumber()的返回值,那麼你應該直接將其存儲在一個變量第一。

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