【发布时间】:2011-03-15 16:58:18
【问题描述】:
我正在使用第三方存储系统,无论我出于某种模糊的原因输入什么,它都只会返回我的 stdClass 对象。所以我很想知道是否有办法将 stdClass 对象转换/转换为给定类型的完整对象。
例如:
//$stdClass is an stdClass instance
$converted = (BusinessClass) $stdClass;
我只是将 stdClass 转换为一个数组并将其提供给 BusinessClass 构造函数,但也许有一种方法可以恢复我不知道的初始类。
注意:我对“更改您的存储系统”类型的答案不感兴趣,因为它不是兴趣点。请把它当作一个关于语言能力的学术问题。
干杯
【问题讨论】:
-
在伪代码示例之后我的帖子中有解释。我正在转换为一个数组并提供给一个自动构造函数。
-
@Adam Puza 的答案比接受的答案中显示的黑客要好得多。虽然我确信映射器仍然是首选方法
-
那么
PDOStatement::fetchObject是如何完成这项任务的?