致命错误:未捕获错误:调用未定义的函数<function name =“”>

时间:2019-03-19 11:10:59

标签: php symfony1

当我访问此页面:https://mysite.xyz/mymodule/sale时出现错误:

  

致命错误:未捕获错误:调用未定义的函数get_special_key()

https://mysite.xyz/mymodule/sale的动作

public function executeSale() {
  $this->redirect('https://auth.sandbox.ebay.com/oauth2/authorize?client_id='.get_special_key('EBAY_CLIENT_ID').'&redirect_uri='.get_special_key('EBAY_REDIRECT_URI').'&response_type=code&scope='.self::EBAY_SCOPES);
  // Get the sale pictures
    $q = Doctrine_Query::create()
        ->select('sp.id, sp.pic_order')
        ->from('SalePicture sp')
        ->where('sp.sale_id = ?', 606223)
        ->orderBy('pic_order')
        ;
    $arSalePictures = $q->execute([], Doctrine::HYDRATE_ARRAY);

    echo 'SALE PICTURES: ';
    print_r($arSalePictures);
}

但是,当我访问https://mysite.xyz/mymodule/sale时,这样的行为是这样的:

public function executeSale() {
  /*
  * Some
  * Code
  * ...
  */
  $this->redirect('https://auth.sandbox.ebay.com/oauth2/authorize?client_id='.get_special_key('EBAY_CLIENT_ID').'&redirect_uri='.get_special_key('EBAY_REDIRECT_URI').'&response_type=code&scope='.self::EBAY_SCOPES);
}

一切正常。

get_special_key()函数由symfony自动加载。

任何建议都会有所帮助,谢谢!

1 个答案:

答案 0 :(得分:0)

在此添加此答案是因为错误消息中通常使用“函数名称”。鉴于问题文本基本上是相同的,这似乎是答案的最佳位置。从Java切换到PHP我不知道在类中调用函数时,必须强制使用对当前对象的引用( this ),即如果您遇到以下错误,则会出现未定义的函数错误请勿按以下方式调用该函数:

EXPLAIN

我实际上在猜测$ this的使用-我在PHP手册中找不到对此的引用。向Reference — What does this symbol mean in PHP?添加了一些内容。 W3学校有一些东西-https://www.w3schools.com/php/php_oop_classes_objects.asp