一尘不染

PDO PHP提取类

php

我正在php中学习pdo,以便使数据库访问更轻松,更高效。我读到的_class的一个解释是,在调用构造函数之前已设置了对象的属性,这是什么意思?任何方向都将不胜感激。


阅读 242

收藏
2020-05-29

共1个答案

一尘不染

这意味着在使用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将无法从范围之外设置值,因为没有定义属性。

2020-05-29