首页 > 代码库 > zend framework配置

zend framework配置

当我们在开发项目时..大家都会遇到一个问题就是:数据库的编码问题.当然我们不用Zend Framework做为项目开发的框架时..我们可以很快,很容易搞定这个小问题..但是当我们要使用Zend Framewok开发项目时..我们可能一时会不知道如何解决这个小问题..比如我就是这样的人..在开发这个博客前..真的不知道如何设数据库编码..? 现在我总结一下我的经验吧..当然也是在网络上找来的答案...
设定数据库编码问题很好解决.代码如下:

 

1 $dbAdapter=Zend_Db::factory($config->general->db->adapter,$config->general->db->toArray()); 
2 $dbAdapter->query("SET NAMES utf8");

 

当我们搞定这个问题后..我们可能要给数据库设定数据表的前缀..这个时候..可能有的朋友会有不同的方式..之前我用一个笨方法也搞定了..但是现在参考网络上一篇文章,就有点启发,就把我原来的方法给去了,改进了一下.步骤如下所示:

第二:敲定confg.ini数据库配置文件我的配置文件如下:

[general]
db.adapter=PDO_MYSQL
db.host=localhost
db.username=root
db.password=
db.dbname=unblog
db.charset=utf8
db.prefix=unblog_
第三:打开网站的入口文件index.php,把里面读取config.ini配置文件的方法改成如下代码:
1 $config=new Zend_Config_Ini(‘./app/config/config.ini‘,null, true);
2 Zend_Registry::set(‘config‘,$config);
3 $dbAdapter=Zend_Db::factory($config->general->db->adapter,
4 $config->general->db->toArray());
5 $dbAdapter->query("SET NAMES {$config->general->db->charset}");
6 Zend_Db_Table::setDefaultAdapter($dbAdapter);
7 Zend_Registry::set(‘dbAdapter‘,$dbAdapter);
8 Zend_Registry::set(‘dbprefix‘,$config->general->db->prefix);

第四:在library/Custom/Model/增加一个Db.php 此文件代码如下.. (它是继承Zend_Db_Table这个类的.它的代码如下:)
1 class Custom_Model_Db extends  Zend_Db_Table
2 {
3   public function __construct()
4   {
5         $dbprefix=Zend_Registry::get(‘dbprefix‘);
6         $this->_name=$dbprefix.$this->_name;
7         parent::__construct();
8   }
9 }

最后:就是在我们的网站的每个Models里,数据库的操作类继承Custom_Model_Db,而不是继续原来的
Zend_Db_Table就可以搞定这一切
参与代码如下:

 

1 class Article extends Custom_Model_Db
2 {
3    protected $_name ="article";
4    protected $_primary =‘id‘;
5 }

 

 转载自其它地方,不敢居功,具体位置已经忘记,发出来,一来做一个记录,二来跟大家分享