Php 我应该关闭方法内部或调用页上的PDO数据库连接吗?

Php 我应该关闭方法内部或调用页上的PDO数据库连接吗?,php,database,connection,pdo,Php,Database,Connection,Pdo,我似乎找不到答案。我知道要关闭PDO连接,需要使用$db=NULL;我一直在使用依赖注入在类中使用access数据库连接。我是否应该使用$db=NULL;在方法内部,还是应该在调用查询的页面上使用它 像这样: public function find_all() { connect to $db; //run query $db = NULL; return query } 或者应该是这样的: $thing = Method::fin

我似乎找不到答案。我知道要关闭PDO连接,需要使用$db=NULL;我一直在使用依赖注入在类中使用access数据库连接。我是否应该使用$db=NULL;在方法内部,还是应该在调用查询的页面上使用它

像这样:

public function find_all() {
     connect to $db;
       //run query
        $db = NULL;
          return query
}
或者应该是这样的:

$thing = Method::find_all();
 //display results
 $thing = NULL;

我一直在使用第一种方法,没有出现任何错误,但我想确保我的方法是正确的。谢谢。

脚本结束时,所有PHP连接都会自动关闭。但是,手动“处置”不再需要的对象并不是一个坏习惯。

在脚本结束时关闭所有连接是一个好习惯,然而,如果您的脚本创建了大量连接,那么最好使用持久连接,不要忘记关闭它们,否则您的数据库将打开太多连接。

您的依赖项注入容器可能会保留数据库连接的副本,因此,尽管unset($DB)或$DB=null可用于正常关闭它,只有当它是最后一个引用时,这才有效

此外,对于每个“find”方法,打开和关闭数据库连接可能需要做更多的工作,除非您知道任何页面最多只有一个查询


您的第二个方法将释放一些空间,但除非“$thing”是您的数据库连接或包含对数据库的最后一个引用,否则它也不会关闭您的数据库连接。

这是关于什么是持久数据库连接的错误信息。请参阅PHP手册: