2011-07-13 54 views
1

我正在將遺留網站轉換爲類驅動的MVC樣式網站。如何將全局的Mysql連接轉換爲遺留代碼

我有一個功能齊全的DAL層,由超類($ Sys)實例化。我可以將DB類全局化,以便遺留代碼可以:$ Sys-> Db-> Query(「sql here」)...味道很好,填充較少。

除了數百和數百個直接的mysql調用。即:mysql_query(「sql here」)。

所有傳統的mysql調用依賴於由db.inc文件(我想擺脫)建立的憑據/連接。

問題:是否有任何方法讓Object/DAL建立的連接/憑證具有「全局」對象,以便它們本身可用於傳統mysql調用? Ergo,本地mysql調用將運行而不需要在對象之外執行代碼?

+0

您的db類在內部是否使用常規mysql句柄?你可以把'$ global_dbh = $ Sys-> Db-> handle'或其他東西放到'old'db.inc中。 –

回答

0

在我的項目中,我們使用Zend Framework與遺留代碼並排使用。我們從我們的DAL(Zend_Db)中獲取db連接參數並設置遺留代碼的連接:

$db = Zend_Db_Table_Abstract::getDefaultAdapter(); 
$dbParms = $db->getConfig(); 
$db2 = mysql_connect($dbParms['host'], $dbParms['username'], $dbParms['password']) 
     or die("Could not connect:" . mysql_error()); 
mysql_select_db($dbParms['dbname']) or die("Could not select database"); 
+0

我希望能夠消除不必要的對象到達對象之外的代碼。我想讓對象「推」,我知道它打破了各種「最好的校長」:-) –

相關問題