【问题标题】:Fatal error: Uncaught Error: Call to undefined function <function name>致命错误:未捕获错误:调用未定义函数 <函数名称>
【发布时间】:2019-08-09 21:35:26
【问题描述】:

当我访问这个页面时: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 自动加载。

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

【问题讨论】:

  • 听起来不像正在加载。什么/在哪里?不确定一切如何按预期工作并出现致命错误...
  • @Jonnix 但是当我在动作底部调用该函数时,动作确实有效。
  • 那么some code 部分会发生什么?似乎有些东西正在使用您的函数加载文件。
  • 我的意思是这里相关的是一些代码中发生的事情。
  • 你也可以:可能是当任何一个带有 Doctrine statics 的语句都会创建一个自动加载,最终定义你缺少的函数。踢轮胎。也许在查询前加一行$dummy = Doctrine::HYDRATE_ARRAY;。如果这不起作用,则是导致负载的查询。假设 some code 与您显示的相同。 that 再次是最相关的部分(未显示,假设与上面相同)

标签: php symfony1


【解决方案1】:

在此处添加此答案是因为错误消息中普遍使用了“函数名称”。鉴于问题文本基本上是相同的,这似乎是答案的最佳位置。从 Java 切换到 PHP 我不知道在类中调用函数时,必须使用对当前对象 (this) 的引用,也就是说,如果你不要这样调用函数:

$this->insert_function_name_here($parameter);

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

【讨论】:

    猜你喜欢
    • 2019-05-22
    • 2017-01-27
    • 2016-04-07
    • 2017-08-19
    • 2018-01-18
    • 2019-08-05
    相关资源
    最近更新 更多