Zend Framework数据库详细配置

本文介绍了一种在ZendFramework中优化数据库适配的方法,通过创建一个基类(BaseController)来管理数据库连接,使得只有需要使用数据库的控制器才会加载数据库适配器,从而提高系统的效率。

Zend framework 的数据适配困扰了我很久,来分享一下我之前配置的细节。

首先有些控制器需要调用数据库,有些不需要,不需要调用数据库的控制器调用会浪费资源,因此 我们新建了一个父类,供其他需要使用数据库的controller调用。

代码如下:

<span style="font-family:Microsoft YaHei;font-size:18px;"><?php
    //做一个父类,供其他的controller的类来继承。
    class BaseController extends Zend_Controller_Action{
    public function init(){
        //初始化数据库适配器
        $url = "../application/configs/application.ini";
            $dbconfig = new Zend_Config_Ini($url,"mysql");
            $register = Zend_Registry::getInstance();
            Zend_Registry::set('config',$dbconfig);
            $db = Zend_Db::factory($dbconfig->resources->db);
            Zend_Db_Table::setDefaultAdapter($db);
    }
}
 </span>

然后在需要使用数据库的控制器中只要加上一条包含即可:

<span style="font-family:Microsoft YaHei;font-size:18px;"> Require_once‘BaseController.php’;</span>

然后就是注意configs下的application.ini文件,

可在最后写入:

<span style="font-family:Microsoft YaHei;font-size:18px;">[mysql]
resources.db.adapter= "PDO_MYSQL"
resources.db.params.host= "localhost"
resources.db.params.username= "root"
resources.db.params.password= "root"
resources.db.params.dbname= "votedb"
resources.db.params.charset= "utf8"
resources.db.isDefaultTableAdapter= TURE
resources.db.params.drivers_options.1002= "set names UTF8;"</span>

OK了,还可以参考网上的其他的类似方法,比如还可以写在index.php中,不过我认为还是我这种方法好一点~

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值