2012-05-23 42 views
2

當我要與Zend_Db的Zend框架連接數據庫,在每個控制器或模型必須寫這樣的代碼:如何連接Zend_Db的一個文件

$params = array(
'host'   => '127.0.0.1', 
'username'  => 'webuser', 
'password'  => 'xxxxxxxx', 
'dbname'   => 'test', 
'charset'  => 'utf8' 
); 

,但是當使用原則就足夠在寫這段代碼application.ini

doctrine.dsn = "mysql://user:[email protected]/dbase" 

如何在每個文件中使用zend_Db設置連接設置?

回答

0

開放

application/configs/application.ini 

添加以下行

resources.db.adapter = PDO_MYSQL 
resources.db.isDefaultAdapter = true 
resources.db.params.host = localhost 
resources.db.params.username = root 
resources.db.params.password = 
resources.db.params.dbname = foo 

,然後你的bootstrap.php內

public function _initSetup() 
{ 
$this->bootstrap('db'); 
} 

,然後徘徊無論或者當你需要數據庫插件簡單地孟清湘做

$db = Zend_Db_Table::getDefaultAdapter(); 
+0

非常好,謝謝 – amirmohammad

+0

我不認爲這裏需要引導代碼。 AFAIK默認情況下,db資源是自舉的。至少我從來沒有在我的任何項目中這樣做過。 – vascowhite

+0

因爲我提到過「Where-ever or when」包含Bootstrap而不做它,所以你不能使用Zend_Db_Table :: getDefaultAdapter();內部自舉。 –

0

有兩種方式使用您的configuration.ini文件 這段代碼:

resources.db.adapter = PDO_MYSQL 
resources.db.params.host = localhost 
resources.db.params.username = root 
resources.db.params.password = '' 
resources.db.params.dbname = dbname 
resources.db.params.driver_options.1002 = "SET NAMES utf8;" 

或使用興田適配器類

$db = new Zend_Db_Adapter_Pdo_Mysql(array(
    'host'  => '127.0.0.1', 
    'username' => 'webuser', 
    'password' => 'xxxxxxxx', 
    'dbname' => 'test' 
)); 

並且不要把你的bootstrap.php文件中的任何函數

相關問題