PDO PHP 获取类

2021-12-26 00:00:00 php pdo

我正在 php 中学习 pdo,以便使数据库访问更容易和更高效.我读过的一个关于 fetch _class 的解释是你的对象的属性是在调用构造函数之前设置的.这是什么意思?任何方向都非常感谢.

I am learning pdo in php , so as to make database access easier and more efficient .One explanation i have read for fetch _class is that The properties of your object are set BEFORE the constructor is called.What does this mean? Any direction is greatly appreciated.

推荐答案

这意味着在使用 PDO 将结果返回到自定义对象时,需要设置查询结果键对应的成员变量.

This means that when using PDO to return a result into a custom object, you are required to set out the member variables which correspond to the query result keys.

例如:

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 可以将变量设置到其内部范围之外的对象.

This way PDO can set the variables to the object outside of its internal scope.

如果你的用户类是这样的:

if you user class was like so:

class User
{
}

然后 PDO 将无法从范围之外设置值,因为没有定义属性.

then PDO Would not be able to set the values from outside the scope, as there are no properties defined.

相关文章