CakePHP模型中的函数返回int而不是null

时间:2014-02-08 14:16:20

标签: php cakephp

我有一个名为Api的模型。

我正从shell脚本中访问。

正在运行的我的shell脚本函数:

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

此输出]

int(2)

以下是Api模型中的功能:

    public function verifyNumber(){
    return null;
}

我试过将return null变为return false(boolean),返回一个像“jibberish”这样的字符串

但是当我打印出来时,我得到的类型为int,其中包含不同的数字,如对象引用或其他内容。

我确信我已经看过一些非常简单的东西了,如果有人能指出那会很棒的话;)

由于

编辑:

  

啊,错误是我有$ this->在那里两次

2 个答案:

答案 0 :(得分:1)

Shell::out()返回写入的字节数或false出错,所以我不确定为什么你会期望它返回别的东西。

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

如果您需要重用Api::verifyNumber()的返回值,那么您应该先将其直接存储在变量中。

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

答案 1 :(得分:1)

如果您不打算输出返回的(null)值并且只想将其用于比较,为什么不避免使用$ this-> out allgether?

保持你的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');
    }
}

目前您正在使用$ this-> out帮助器设置变量... $ this-> out用于处理可读输出,从不用于设置变量...不要...

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

只是......

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