当我想在zend框架中使用zend_Db连接数据库时,在每个控制器或模型中都必须编写以下代码:
$params = array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test',
'charset' => 'utf8'
);
但是当使用Doctrine时,它足以在application.ini中编写这段代码
doctrine.dsn = "mysql://user:pass@localhost/dbase"
如何在每个文件中使用zend_Db并设置连接设置?
答案 0 :(得分: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
里面DO
public function _initSetup()
{
$this->bootstrap('db');
}
然后无论何时何时需要db实例,只需执行
$db = Zend_Db_Table::getDefaultAdapter();
答案 1 :(得分: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;"
或使用hte adapter class
$db = new Zend_Db_Adapter_Pdo_Mysql(array(
'host' => '127.0.0.1',
'username' => 'webuser',
'password' => 'xxxxxxxx',
'dbname' => 'test'
));
并且不要在bootstrap.php文件中放置任何函数