错误:在cakephp中调用未定义的函数

时间:2015-08-28 09:24:35

标签: php cakephp

我有功能:

private function generate_id($gencounter){
    $maxint = PHP_INT_MAX;
    $temp=$this->crypto_rand_secure(1, $maxint);
    if($gencounter<$maxint){
        if($this->check_id($temp)){
            $gencounter=0;
            $id=$temp;
            return $id;
        }
        else {
            $gencounter=$gencounter+1;
            generate_id($gencounter);
        }
    }
    else {
        return false;
    }
}

并且我这样称呼它:

$user=array(
        'ID'=>$this->generate_id(0),
        [ rest of array ]
);

我正在接受&#34;错误:调用未定义的函数generate_id()&#34;。 当我在XAMPP中在本地服务器上构建站点时它工作正常,但在实时服务器上它给了我这个错误。

1 个答案:

答案 0 :(得分:4)

$this总是指对象,其中存在方法本身。 看看你的其他区块。你把这个方法调用错了。

试试这个:

private function generate_id($gencounter){
    $maxint = PHP_INT_MAX;
    $temp=$this->crypto_rand_secure(1, $maxint);
    if($gencounter<$maxint){
        if($this->check_id($temp)){
            $gencounter=0;
            $id=$temp;
            return $id;
        }
        else {
            $gencounter=$gencounter+1;
            $this->generate_id($gencounter);
        }
    }
    else {
        return false;
    }
}