2013-02-07 172 views
0

我使用的MongoDB和zendframework 2所以在這裏我創建在構造函數中關閉數據庫連接

private $conn; 

public function __construct(){ 
    $this->conn = new \MongoClient('mongodb://example.com:27017', array("connect" => TRUE)); 
} 

它包含幾個動作來執行數據庫操作像CREATEDB,DROPDB,renamedb喜歡聰明的連接做的項目。所以我關閉__distruct()方法內的連接

public function __destruct(){ 
    $this->conn->close(); 
} 

我的代碼工作正常。但我想知道這是好的嗎?

+2

我很肯定你實際上並不需要,因爲php在運行腳本後會立即關閉連接 – Tikkes

+0

難道你不能使用ORM而不是自己的抽象層? – j0k

+0

@ j0k是的我使用docrain odm工具。但創建數據庫我使用PHP核心類 – user2047701

回答

0

PHP自動關閉數據庫連接。

可以在this post

閱讀更多關於這不過 read this

報價: 「打開連接(以及類似的資源)在腳本結束後自動銷燬但是,您仍然應該在不再需要時立即關閉或釋放所有連接,結果集和語句句柄紅外發光二極管。這將有助於迴歸資源PHP和MySQL更快。」

所以基本上,如果你有一大堆事進出數據庫的,那麼,你可能想後立即關閉。

在我認爲它是相當可選的,你自己的選擇是否可以殺死這個過程