2011-03-06 74 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()但工作纔會真正完成在第一次通話。這將確保即使在代碼重構之後(比如在頭文件中),數據庫也會在需要時連接。