2

当我想将 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 而没有设置连接设置?

4

2 回答 2

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();
于 2012-05-23T08:36:01.553 回答
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 适配器类

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

并且不要在 bootstrap.php 文件中添加任何函数

于 2012-05-23T10:58:51.327 回答