这个让我困惑了一段时间。 我尝试从我的函数返回我的$ content(object),我得到了致命的错误:
类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
产生致命错误 - 在没有代码的行上,我暂时无能为力。
答案 0 :(得分:2)
我发现了问题所在。
上面的代码是Joomla模块的一部分,位于模块的helper.php类中。
到目前为止所做的一切都很好,并且没有任何神秘的内容是什么(确实是一个对象 - 我期待的那个对象) - 并且与它的来源无关。
if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
$content = json_decode($this->_revApiCall($url));
var_dump( $content);
return($content);
}
然后,我正在调用该函数来获取$content
对象,来自我的模块module.php
我将$content
对象分配给名为$ content的变量,如下所示:
$helper = new ModuleHelper($params);
$content = $helper->returnContentObject();
到目前为止事情看起来很明显。但这就是问题的所在。
并且存在问题 - 因为$content
是一个神秘的" Joomla的模块渲染引擎使用的变量 - 可在此处找到更多信息:The mystery with the $content variable in Joomla modules.
尽管我的代码做了很明显的事情,但幕后有一个并行程序。
是的,我的error_reporting始终指向我帮助程序方法return $content
附近的同一行 - 这完全是误导。