2011-03-06 76 views
2

我想知道什么是PHP/MySQL开发的最佳实践。为每个函数打开和关闭SQL,或者打开SQL,然后关闭SQL?

例如,我有以下几点:

  • 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 
} 

谢谢!

回答

3

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

0

打开与数据库的连接通常需要一些时间,所以我建议在脚本开始时一次性打开它。

知道在脚本结束时,PHP自动关闭打开的连接也是很好的事情,所以通常不需要显式关闭与数据库的连接。

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

class Database { 
    var $connection = null; 

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

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