设置静态pdo $ db连接

时间:2019-06-25 11:43:05

标签: php database pdo static

我正在学习有关mvc的课程教程,遇到了我似乎看不懂的代码。这是讲师推荐的课程,用于解决仅在需要时连接数据库的问题。

abstract class Model
{
    protected static function getDb(){
        static $dbh = null;

        if ($dbh === null) {
            //echo 'Connection to database is being established FIRST time';

            try {
                $dbh = new PDO(Config::DB_DSN, Config::DB_USER, Config::DB_PASS, Config::DB_PARAMS);
            } catch (PDOException $e) {
                echo $e->getMessage();
            }

        }
        return $dbh;
    }
}

我不明白的是,每当我在开始时调用此函数时,静态$ dbh会更改为null,然后再次需要建立新的pdo连接(try / catch)。对我来说,这似乎无法解决建立连接变量($ dbh)的问题,因此我可以重复使用它。 我不确定我是否应该做其他事情(例如在函数外部声明“ static $ dbh = null”),因为作为专业人士生成的代码,它应该是正确的。

0 个答案:

没有答案