脚本宝典收集整理的这篇文章主要介绍了php – Yii将数据库连接限制为只读,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
虽然我可以将我的数据库用户帐户设置为仅允许读取,但还有其他人管理此系统,我希望在应用程序级别有一些冗余,以绝对防止使用Yii的标准ActiveRecord类进行无意的写入.
在论坛上发现了这一点信息,但想知道是否有人可以确认这是一个好方法和/或建议另一个.
public function onBeforeSave($event) { $this->db = Yii::app()->masterDb; } public function onAfterSave($event) { $this->db = Yii::app()->db; }
如果你有很多AR型号,我可能会先考虑一下.您可以将行为路线(如该论坛帖子中所示)作为另一种选择.
但无论你做什么,你都希望在toSave / afterSave之前覆盖而不是onBeforeSave / onAfterSave.这些方法用于触发事件,而不仅仅是运行您自己的特殊代码.而且,根据another one of the forum posts,您需要使用静态调用设置AR db变量.所以谢尔盖的代码应该是:
class MyActiveRecord extends CActiveRecord { ... public function beforeSave() { // set wrITe DB self::$db = Yii::app()->masterDb; return parent::beforeSave(); } public function afterSave() { // set read db self::$db = Yii::app()->db; return parent::beforeSave(); } ... } class User extends MyActiveRecord {} class Post extends MyActiveRecord {} ...
以上是脚本宝典为你收集整理的php – Yii将数据库连接限制为只读全部内容,希望文章能够帮你解决php – Yii将数据库连接限制为只读所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。