2014-02-08 33 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); 
    // ... 
}