【发布时间】:2010-05-19 01:25:19
【问题描述】:
完整的问题应该是“这是正确的还是我不能指望的错误?”
为什么这是正确的行为?
我一直在使用 PDO,尤其是直接将数据提取到对象中。这样做时我发现了这一点:
如果我直接将数据提取到这样的对象中:
$STH = $DBH->prepare('SELECT first_name, address from people WHERE 1');
$obj = $STH->fetchAll(PDO::FETCH_CLASS, 'person');
并且有一个像这样的对象:
class person {
public $first_name;
public $address;
function __construct() {
$this->first_name = $this->first_name . " is the name";
}
}
它告诉我,在调用 __construct 之前已经分配了属性——因为所有名称都附加了“是名称”。
这是一些错误(在这种情况下我不能/不会指望它)还是这是它应该的方式。因为它目前的工作方式确实是一件非常好的事情。
更新
显然,according to one of the maintainers 这不是错误。有人在 2008 年将其作为错误发布,对此的回复是“这不是错误,请阅读文档”。
但是,我真的很想知道为什么这是正确的行为。
【问题讨论】: