这个让我困惑了一段时间。 我尝试从我的函数返回我的$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
代码附近的同一行 - 这完全具有误导性。