如何在一个文件中连接zend_Db

时间:2012-05-23 08:29:00

标签: zend-framework zend-db

当我想在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并设置连接设置?

2 个答案:

答案 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文件中放置任何函数