为每个函数打开和关闭SQL,还是打开SQL,然后关闭SQL?

时间:2011-03-06 14:50:47

标签: php mysql

我想知道PHP / MySQL开发的最佳实践是什么。

例如,我有以下内容:

  • connect.php
  • close.php

在connect.php中,它使用require_once('classes/database.php')并使用$database = new database();然后调用$database->connect();

我是否需要将这些内容称为header.php和footer.php并且具有整体连接(每个主要网页都包含这些内容),或者在需要时打开并关闭它们。例如,我有一个functions.php文件,其中包含我应该执行的功能:

public function test() {
    $db = new database();
    // db setup here
    $db->connect();
    // do stuff here
    $db->disconnect();
}

public function test() {
    // stuff here
}

谢谢!

2 个答案:

答案 0 :(得分:3)

连接到数据库通常是一个相当昂贵的过程 - 耗时。如果可能的话,尽量避免多次连接以响应单个请求。

答案 1 :(得分:0)

打开与数据库的连接通常需要一些时间,因此我建议在脚本开头一劳永逸地打开它。

最好知道在脚本结束时,PHP会自动关闭打开的连接,因此通常不需要显式关闭与数据库的连接。

为了拥有更强大的代码,我会做这样的事情:

class Database {
    var $connection = null;

    public function connect() {
        if($this->connection == null) {
            // setup the connection here
        }
    }
}

这样,每次需要数据库连接时,都可以调用$db->connect(),但工作实际上只在第一次调用时完成。这将确保即使在代码重构之后,比如在头文件中,数据库也会在需要时连接。