Php 从函数返回对象时,类stdClass的对象无法转换为字符串

Php 从函数返回对象时,类stdClass的对象无法转换为字符串,php,joomla,fatal-error,joomla-module,Php,Joomla,Fatal Error,Joomla Module,这件事让我困惑了一段时间。 我试图从函数返回$content(object),但出现致命错误: 类stdClass的对象无法转换为字符串 它工作得很好,但后来它开始给我这个。 如果我删除返回($content),致命错误就会消失 另一件需要注意的事情是,错误报告总是提到错误的同一行,尽管出于测试目的,我稍微移动了代码。 这可能是缓存问题吗?我不知道-代码上的其他更改正在影响脚本的执行 不管怎样 return $content 产生致命错误-在一行中,没有代码存在,我目前一无所知 我发现了问题

这件事让我困惑了一段时间。 我试图从函数返回$content(object),但出现致命错误:

类stdClass的对象无法转换为字符串

它工作得很好,但后来它开始给我这个。 如果我删除返回($content),致命错误就会消失

另一件需要注意的事情是,错误报告总是提到错误的同一行,尽管出于测试目的,我稍微移动了代码。 这可能是缓存问题吗?我不知道-代码上的其他更改正在影响脚本的执行

不管怎样

return $content 

产生致命错误-在一行中,没有代码存在,我目前一无所知

我发现了问题所在

上面的代码是Joomla模块的一部分,驻留在模块的helper.php类中

在这一点上,一切都很好,对于$content是什么没有任何神秘之处(实际上是一个对象——我在那里期待的一个对象),也与它的来源没有任何关系

if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
    $content = json_decode($this->_revApiCall($url));
    var_dump( $content);
    return($content);
}
后来,我调用该函数从模块的
module.php

我将
$content
对象分配给名为$content的变量,如下所示:

$helper = new ModuleHelper($params);
$content = $helper->returnContentObject();
到目前为止,事情看起来很明显。但这就是问题所在

还有一个问题-因为
$content
是Joomla的模块渲染引擎使用的“神秘”变量-可以在这里找到更多信息:

尽管我的代码做了一些显而易见的事情,但在幕后还是有一个并行过程


是的,我的错误报告总是指向我助手方法附近的同一行
return$content
code-这完全是误导性的。

我发现了问题所在

上面的代码是Joomla模块的一部分,驻留在模块的helper.php类中

在这一点上,一切都很好,对于$content是什么没有任何神秘之处(实际上是一个对象——我在那里期待的一个对象),也与它的来源没有任何关系

if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
    $content = json_decode($this->_revApiCall($url));
    var_dump( $content);
    return($content);
}
后来,我调用该函数从模块的
module.php

我将
$content
对象分配给名为$content的变量,如下所示:

$helper = new ModuleHelper($params);
$content = $helper->returnContentObject();
到目前为止,事情看起来很明显。但这就是问题所在

还有一个问题-因为
$content
是Joomla的模块渲染引擎使用的“神秘”变量-可以在这里找到更多信息:

尽管我的代码做了一些显而易见的事情,但在幕后还是有一个并行过程


是的,我的错误报告总是指向我助手的方法附近的同一行
return$content
code-这完全是误导性的。

您如何处理函数的结果?在if语句之外,您会做什么?您确定错误表明它在这个文件中,而不是在另一个文件中(可能是行号没有改变?)。您确定错误不在调用函数的位置,也不在函数本身中吗?你需要给我们更多的信息。我们不知道您的变量包含什么,它们来自何处,函数如何调用,您对它们做了什么,或者其他什么,请阅读:@MagnusEriksson-由于您在撰写评论时付出了一些努力-您可能对问题所在感兴趣。我在下面贴了一个答案。你如何处理函数的结果?在if语句之外,您会做什么?您确定错误表明它在这个文件中,而不是在另一个文件中(可能是行号没有改变?)。您确定错误不在调用函数的位置,也不在函数本身中吗?你需要给我们更多的信息。我们不知道您的变量包含什么,它们来自何处,函数如何调用,您对它们做了什么,或者其他什么,请阅读:@MagnusEriksson-由于您在撰写评论时付出了一些努力-您可能对问题所在感兴趣。我在下面贴了一个答案。这就是为什么当你问问题时,你应该明确地告诉我们关于你的系统的一切。因为我们甚至不知道您正在使用Joomla。@Sbpro您可能想给您的答案打绿色勾,以便此页面在系统内被视为已解决,所以任何人都不可能帮助您。(始终努力为所有问题达成系统认可的解决方案)我知道这是很久以前的事了,但我在使用变量$template时遇到了类似的问题-显然不应该使用它,但我花了一个小时来解决它。希望这能节省一些时间!这就是为什么当你提出问题时,你应该明确地告诉我们关于你的系统的一切。因为我们甚至不知道您正在使用Joomla。@Sbpro您可能想给您的答案打绿色勾,以便此页面在系统内被视为已解决,所以任何人都不可能帮助您。(始终努力为所有问题达成系统认可的解决方案)我知道这是很久以前的事了,但我在使用变量$template时遇到了类似的问题-显然不应该使用它,但我花了一个小时来解决它。希望这能节省一些时间!