我正在php中学习pdo,以便使数据库访问更轻松,更高效。我读到的_class的一个解释是,在调用构造函数之前已设置了对象的属性,这是什么意思?任何方向都将不胜感激。
这意味着在使用PDO将结果返回到自定义对象时,需要设置与查询结果键相对应的成员变量。
如:
class User { //Predefine Here public $id; public $username; public $password; public $email; public $hash; public function profileLink() { return sprintf('<a href="/profile/%s">%s</a>',$this->id,$this->username); } } $result = $sth->fetchAll(PDO::FETCH_CLASS, "User"); foreach($result as $user) { echo $user->profileLink(); }
这样,PDO可以将变量设置为超出其内部范围的对象。
如果您的用户类是这样的:
class User { }
那么PDO将无法从范围之外设置值,因为没有定义属性。