《PHP應用:Yii框架實現多數據庫配置和操作的方法》要點:
本文介紹了PHP應用:Yii框架實現多數據庫配置和操作的方法,希望對您有用。如果有疑問,可以聯系我們。
相關主題:YII框架
本文實例講述了Yii框架實現多數據庫配置和操作的方法.分享給大家供大家參考,具體如下:PHP學習
Yii的默認配置為一個數據庫,不過可以很容易的支持多個數據庫的操作,PHP學習
這為按業務分割數據庫提供了基礎設施.如下所示:PHP學習
//cms DB connection 'db' => (defined('DB_CONNECTION') ? array( 'connectionString' => DB_CONNECTION, 'username' => DB_USER, 'password' => DB_PWD, 'charset' => 'utf8', 'emulatePrepare' => true, 'enableParamLogging' => true, 'schemaCachingDuration' => 3600, //cache table schema ) : array()), //member DB connection 'db_member' => (defined('DB_CONNECTION_MEMBER') ? array( 'class'=> 'CDbConnection' , 'connectionString' => DB_CONNECTION_MEMBER, 'username' => DB_USER_MEMBER, 'password' => DB_PWD_MEMBER, 'charset' => 'utf8', 'emulatePrepare' => true, 'enableParamLogging' => true, 'schemaCachingDuration' => 3600, //cache table schema ) : array()),
然后在模型中重載getDbConnection函數,比如:PHP學習
class Point extends CActiveRecord { public function getDbConnection() { return Yii::app()->db_member; } ... }
如果有很多模型會使用db_member, 可以從CActiveRecord派生一個子類:CMemberActiveRecord, 把getDbConnection的重寫放在該AR的子類中.PHP學習
然后模型都從該CMemberActiveRecord中派生.PHP學習
多數據庫配置遇到的一個典型的錯誤是:PHP學習
Object configuration must be an array containing a class elementPHP學習
原因是配置中非$db的其他數據庫沒有設置class屬性,添加該屬性并設置其值為CDbConnection即可.PHP學習
參考鏈接:PHP學習
http://yiihaa.com/models-and-multiple-database-connectionsPHP學習
更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》PHP學習
希望本文所述對大家基于Yii框架的PHP程序設計有所幫助.PHP學習
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/736.html