dbconnection class PGSQL 重写函数

dbconnection class PGSQL rewrite function

我目前正在使用 pgsql 在 PHP 中编写一个数据库连接 class。我已经编写了连接和查询函数,但我想知道如何获取结果。

目前我们需要使用这个函数来获取查询后的结果:

$db = new dbconnection();
$stmt= $db -> query("SELECT * FROM users");
pg_fetch_all($stmt);

为了让代码更简洁,我想执行以下操作来获取结果:

$db = new dbconnection();
$stmt= $db -> query("SELECT * FROM users");
$result = $stmt -> fetchAll();

对如何做到这一点有什么帮助吗?

提前致谢

dbconnectionquery 方法应该 return 像这样的 Statement 实例(PHP7,简化):

final class Statement
{
    private $result;

    public function __construct(array $result = [])
    {
        $this->result = $result;
    }

    public function fetch()
    {
        return $this->result[0];
    }

    public function fetchAll()
    {
        return $this->result;
    }
}

所以你这样称呼它(简体):

final class DBConnection
{
    // constructor etc.

    public function query(string $query)
    {
        // $result = result of the passed executed string $query

        return new Statement($result);
    }

}