手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜Qcloud , 注册 | 登陆

Yiiframework为每个module单独指定db连接

首页 > PHP Framework >

Yii的module功能确实很方便,但现在的问题在于,我需要为每个module单独指定一个数据库连接,这样我就可以将不同的系统整合在一起了。找了不少资料,好象都没有这样类似的功能。master/slave之类倒是有不少类似的整合方案的。

测试了一下,发现可以这样操作,即在全局配置文件中的module里为module加上components中加上db,然后就基本OK了。但即使这样,你还是会发现不太正常,会提示db不存在,其实需要在这个db数组中加上class=>CDBconnection就一切OK了。会自动加载的哦。(烂桔在这里帮了不少忙)

然后数据连接就是Yii::app()->getModules('modulename')->db。【不过他在这里说的是findModules,我看了一下,getModules就直接可以用了。HOHO】

如果你有master和slave,也可以按照这样的配置,然后再在onBeforeFind方法里设定db=Yii::app()->getModules('module')->readerDb之类的。并在onAfterFind后再置 db为write的链接。(感谢HM提出方案)

如果有多个slave,又想使用同一个slave缓存,则可以先随机取得slave的名称。然后存入session,然后再指定链接。这样,每一个用户使用的slave就会是唯一的。其实提高了效率(感谢神仙提出来)




本站采用创作共享版权协议, 要求署名、非商业和保持一致. 本站欢迎任何非商业应用的转载, 但须注明出自"膘叔", 保留原始链接, 此外还必须标注原文标题和链接.

Tags: framework, yii, module

« 上一篇 | 下一篇 »

只显示10条记录相关文章

Yii CDbCriteria的常用方法 (浏览: 44116, 评论: 5)
常用网站的反向代理页[2013-09-28] (浏览: 36569, 评论: 10)
将Yiiframework与JQuery easyUI整合使用 (浏览: 27749, 评论: 2)
Yii:relations update(self::STAT) (浏览: 24103, 评论: 0)
QEE PHP 发布 (浏览: 23575, 评论: 5)
ZendFramewok介绍 (浏览: 20824, 评论: 0)
Fleaphp介绍(在迟来的QeePhp前的最后介绍) (浏览: 20517, 评论: 0)
使用ZendFramework的时候打印SQL (浏览: 18981, 评论: 0)
Yii Demos 随想 (浏览: 18954, 评论: 3)
值得收藏的yii2的doc中关于db Query的说明 (浏览: 18952, 评论: 0)

1条记录访客评论

你确定你操作成功了?

Post by colee1985 on 2011, January 19, 3:30 PM 引用此文发表评论 #1


发表评论

评论内容 (必填):