我正在将旧站点转换为类驱动MVC样式站点。
我有一个由Super Class($ Sys)实例化的功能齐全的DAL层。我可以很好地全局化DB类,以便遗留代码可以:$ Sys-> Db-> Query(“ sql here”)...尝起来很棒,填充更少。
除了有成百上千的直接mysql调用。即:mysql_query(“ sql here”)。
所有旧版mysql调用都依赖于db.inc文件建立的凭据/连接(我想摆脱它)。
问题:是否有任何方法可以使对象“全局”由对象/ DAL建立的连接/凭据,以使它们本身可用于旧版mysql调用?如此,本机mysql调用将运行而无需在对象外部执行代码?
最佳答案
在我的项目中,我们将Zend Framework与遗留代码并排使用。我们从DAL(Zend_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");