class stdClass 的对象无法转换为字符串 - 从函数返回对象时
Object of class stdClass could not be converted to string - when returning object from function
这个问题让我困惑了一段时间。
我尝试 return 我的 $content (对象),从我的函数中得到致命错误:
Object of class stdClass could not be converted to string
if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
$content = json_decode($this->_revApiCall($url));
var_dump( $content);
return($content);
}
它工作正常,但后来开始给我这个。
如果我删除 return($content) 致命错误就会消失。
另一件需要注意的事情是,错误报告总是提到同一行错误,尽管出于测试目的,我稍微移动了代码。
这可能是缓存问题 - 我不知道 - 代码的其他更改正在影响脚本的执行。
无论如何,
return $content
产生致命错误 - 在没有代码存在的行上,我暂时一无所知。
我找到问题所在了。
以上代码是 Joomla 模块的一部分,位于模块的 helper.php Class.
中
到目前为止一切都很好,$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 模块渲染引擎使用的 "mystery" 变量 - 可以在此处找到更多信息:The mystery with the $content variable in Joomla modules.
尽管我的代码做了显而易见的事情,但在幕后有一个并行过程。
是的,我的 error_reporting 总是将我指向助手方法 return $content
代码附近的同一行 - 这完全是误导。
这个问题让我困惑了一段时间。 我尝试 return 我的 $content (对象),从我的函数中得到致命错误:
Object of class stdClass could not be converted to string
if (filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED))
{
$content = json_decode($this->_revApiCall($url));
var_dump( $content);
return($content);
}
它工作正常,但后来开始给我这个。 如果我删除 return($content) 致命错误就会消失。
另一件需要注意的事情是,错误报告总是提到同一行错误,尽管出于测试目的,我稍微移动了代码。 这可能是缓存问题 - 我不知道 - 代码的其他更改正在影响脚本的执行。
无论如何,
return $content
产生致命错误 - 在没有代码存在的行上,我暂时一无所知。
我找到问题所在了。
以上代码是 Joomla 模块的一部分,位于模块的 helper.php Class.
中到目前为止一切都很好,$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 模块渲染引擎使用的 "mystery" 变量 - 可以在此处找到更多信息:The mystery with the $content variable in Joomla modules.
尽管我的代码做了显而易见的事情,但在幕后有一个并行过程。
是的,我的 error_reporting 总是将我指向助手方法 return $content
代码附近的同一行 - 这完全是误导。