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



这个让我困惑了一段时间。 我尝试从我的函数返回我的$content(对象(,但出现致命错误:

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

if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
$content = json_decode($this->_revApiCall($url));
var_dump( $content);
return($content);
}

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

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

无论如何,

return $content 

产生致命错误 - 在一行不存在代码的行上,我暂时一无所知。

我发现了问题所在。

上面的代码是Joomla模块的一部分,驻留在模块的助手.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对象分配给名为 $content 的变量,如下所示:

$helper = new ModuleHelper($params);
$content = $helper->returnContentObject();

到目前为止,事情看起来很明显。但这就是问题所在。

还有一个问题 - 因为$content

是Joomla的模块渲染引擎使用的"神秘"变量 - 更多信息可以在这里找到:Joomla模块中$content变量的奥秘。

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

是的,我的error_reporting总是将我指向我的助手方法return $content代码附近的同一行 - 这完全具有误导性。

相关内容

  • 没有找到相关文章

最新更新