婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > thinkphp3.2.3框架動態切換多數據庫的方法分析

thinkphp3.2.3框架動態切換多數據庫的方法分析

熱門標簽:百應電話機器人服務 河南電銷卡外呼系統哪家強 騰訊外呼管理系統 昭通辦理400電話 山西回撥外呼系統 山西探意電話機器人 岳陽外呼型呼叫中心系統在哪里 青島語音外呼系統招商 揚州地圖標注app

本文實例講述了thinkphp3.2.3框架動態切換多數據庫的方法。分享給大家供大家參考,具體如下:

版本說明:

thinkphp3.2.3

新增自定義行為類

文件位置:Application/Common/Behaviors/SwitchDbBehavior.class.php

文件內容:

namespace Common\Behaviors;
class SwitchDbBehavior
{
 //私有庫id,如何連接公有庫則設置為share字符串
 private $_privateId = '';
 /*
  * 行為擴展的執行入口必須是run
  * $param 為引用傳值,所以實參必須是變量
  */
 public function run($params)
 {
   //獲取私有庫id
   $this->_privateId = empty($params)  session('?privateId') ? (int)session('privateId') : trim($params);
   //echo 'curent database is '.$this->_privateId;
   //默認連接公有庫
   if(empty($this->_privateId)) $this->_privateId = 'share';
   $this->_checkDb();
   //連接公有庫
   if('share' == trim($this->_privateId))
   {
     $share = $this->_connectShare();
   }else
   //連接私有庫
   {
     $share = $this->_connectPrivate($this->_privateId);
   }
   //循環修改數據庫配置信息
   foreach($share as $dbKey=>$dbVal)
   {
     C($dbKey,$dbVal);
   }
 }
 /*
 * 判斷數據庫是否存在
 */
 private function _checkDb()
 {
   //C('PRIVATEIDS') 在配置文件Appliation/Common/Conf/dbname.php中定義
   if(!in_array($this->_privateId,C('PRIVATEIDS')))
   {
     exit(__CLASS__.'->'.__FUNCTION__.': dbName error!');
   }
 }
 /*
 * 返回連接私有庫配置
 */
 private function _connectPrivate($privateId)
 {
   return array(
     'DB_TYPE'  => 'mysql', // 數據庫類型
     'DB_HOST'  => DB_WECHAT_HOST, // 服務器地址
     'DB_NAME'  => DB_WECHAT_NAME.(int)$privateId, // 數據庫名
     'DB_USER'  => DB_WECHAT_USER, // 用戶名
     'DB_PWD'  => DB_WECHAT_PASS, // 密碼
     'DB_PORT'  => DB_WECHAT_PORT, // 端口
     'DB_PARAMS' => array(), // 數據庫連接參數
     'DB_PREFIX' => '', // 數據庫表前綴
     'DB_CHARSET'=> 'utf8', // 字符集
     'DB_DEBUG' => DB_WECHAT_DEBUG, // 數據庫調試模式 開啟后可以記錄SQL日志
   );
 }
 /*
 * 返回連接公有庫配置
 */
 private function _connectShare()
 {
   return array(
     'DB_TYPE'  => 'mysql', // 數據庫類型
     'DB_HOST'  => DB_WECHAT_HOST, // 服務器地址
     'DB_NAME'  => DB_WECHAT_SHARE_NAME, // 數據庫名
     'DB_USER'  => DB_WECHAT_USER, // 用戶名
     'DB_PWD'  => DB_WECHAT_PASS, // 密碼
     'DB_PORT'  => DB_WECHAT_PORT, // 端口
     'DB_PARAMS' => array(), // 數據庫連接參數
     'DB_PREFIX' => '', // 數據庫表前綴
     'DB_CHARSET'=> 'utf8', // 字符集
     'DB_DEBUG' => DB_WECHAT_DEBUG, // 數據庫調試模式 開啟后可以記錄SQL日志
   );
 }
}

以上文件中用到的常量在我們的配置文件Application/Common/Conf/constant.php中. 內容如下:

/*數據庫配置*/
define('DB_WECHAT_HOST','127.0.0.1');        //主機host
define('DB_WECHAT_USER','common');         //用戶名
define('DB_WECHAT_PASS','common');         //密碼
define('DB_WECHAT_NAME','wechat_');         //私有庫前綴
define('DB_WECHAT_SHARE_NAME','wechat_share');   //共有庫名
define('DB_WECHAT_PORT','3306');          //端口
define('DB_WECHAT_DEBUG',TRUE);          //數據庫調試模式 開啟后可以記錄SQL日志

圖中代碼驗證數據庫存在不存在的C('PRIVATEIDS')在文件Application/Common/Conf/dbname.php中配置內容如下:

?php
/*
* 本配置文件主要存儲數據庫后綴名,
* 前綴為wechat_,
* 在Application/Common/Behaviors/TestBehavior.class.php中驗證
* 注意:在新增數據庫的時候,注意修改該文件
*
* @author: liangxifeng
* @date: 2016-08-13
*/
return array(
   'PRIVATEIDS'=>array('share',1,2,3,4)
);

constant.php和dbname.php則是在配置文件Application/Common/Conf/config.php中使用擴展配置選項配置加載;

'LOAD_EXT_CONFIG' => 'constants,systemConfig,dbname',//加載常量配置

在使用自定義行為類的時候要在Application/Common/Conf/中新增tags.php

內容如下:

/*
* 擴展行為類配置文件
* @author:liangxifeng
* @date:2016-08-13
*/
return array(
   //應用開始標簽位添加切換數據庫行為
   'action_begin'=>array('Common\\Behaviors\\SwitchDbBehavior'),
);

行為類介紹請點擊

擴展行為類詳細了解請點擊

使用方法

在注冊session后或手動加載使用,比如在控制器中:

  public function index()
  {
    //注冊session切換數據庫
    session('privateId',2);
    //手動切換數據庫為私有庫
    tag('action_begin',$params='share');
    $wechat = D('Wechat');
    //查詢數據庫
    $res = $wechat->where('wechat_id=1')->find();
    echo "pre>";
    var_dump($res);
    exit;
  }

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • ThinkPHP5.0框架實現切換數據庫的方法分析
  • ThinkPHP實現多數據庫連接的解決方法
  • tp5(thinkPHP5)框架數據庫Db增刪改查常見操作總結
  • tp5(thinkPHP5)框架實現多數據庫查詢的方法
  • ThinkPHP連接數據庫及主從數據庫的設置教程
  • thinkphp配置連接數據庫技巧
  • tp5(thinkPHP5)框架連接數據庫的方法示例
  • ThinkPHP連接數據庫的方式匯總
  • ThinkPHP3.2.3數據庫設置新特性
  • thinkphp 框架數據庫切換實現方法分析

標簽:婁底 湛江 銅川 黃南 寶雞 宜賓 鎮江 南陽

巨人網絡通訊聲明:本文標題《thinkphp3.2.3框架動態切換多數據庫的方法分析》,本文關鍵詞  thinkphp3.2.3,框架,動態,切換,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《thinkphp3.2.3框架動態切換多數據庫的方法分析》相關的同類信息!
  • 本頁收集關于thinkphp3.2.3框架動態切換多數據庫的方法分析的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久久久久久一| 国产jizzjizz一区二区| 午夜电影一区二区三区| 精品免费视频一区二区| 成人av一区二区三区| 国产精品一线二线三线精华| 精品一区二区三区免费播放| 精品一区二区三区免费观看| 男女男精品视频| 日本视频中文字幕一区二区三区| 夜夜爽夜夜爽精品视频| 奇米影视一区二区三区小说| 国产suv精品一区二区6| 成人av在线资源网站| 色吧成人激情小说| 欧美大片在线观看一区| 亚洲视频网在线直播| 亚洲综合一区在线| 国产精品99久久久久久有的能看| 成人动漫一区二区三区| 欧美日韩精品一区二区天天拍小说| 精品区一区二区| 亚洲自拍偷拍麻豆| 高清在线不卡av| 91精品国产综合久久小美女| 国产精品视频麻豆| 免费成人在线影院| 欧美视频在线播放| 中文字幕视频一区二区三区久| 日韩高清不卡一区二区| 一本大道久久a久久精品综合| 精品国产一区a| 亚洲国产欧美一区二区三区丁香婷| 国产激情一区二区三区四区| 精品视频色一区| 国产精品久久久久毛片软件| 精品一区二区在线观看| 欧美亚洲国产一区在线观看网站| 国产日韩欧美电影| 九一久久久久久| 欧美日韩黄视频| 亚洲嫩草精品久久| 成人动漫av在线| 国产精品―色哟哟| 国产美女一区二区三区| 91精品国产综合久久久久久久久久| 最近中文字幕一区二区三区| 国产精品白丝jk黑袜喷水| 日韩欧美卡一卡二| 日本欧美久久久久免费播放网| 欧美色综合网站| 国产无遮挡一区二区三区毛片日本| 777午夜精品视频在线播放| 亚洲天堂精品视频| 成人动漫在线一区| 亚洲视频一二三| 91免费看片在线观看| 亚洲精品午夜久久久| 色综合天天综合网天天狠天天 | 久久久91精品国产一区二区精品 | 国产米奇在线777精品观看| 日韩一区二区三区视频| 日韩中文字幕区一区有砖一区 | 日韩欧美一级在线播放| 丝瓜av网站精品一区二区| 欧美在线不卡一区| 亚洲国产精品一区二区www在线| 91搞黄在线观看| 亚洲午夜视频在线观看| 欧美性生活久久| 日韩av一区二区三区四区| 欧美精品国产精品| 国产在线视频一区二区三区| 久久久久久久久久久电影| 国产高清亚洲一区| 一区二区三区在线免费视频| 欧美色男人天堂| 另类小说综合欧美亚洲| 久久精品在线免费观看| 成人综合婷婷国产精品久久| 亚洲视频香蕉人妖| 欧美三区免费完整视频在线观看| 日产国产欧美视频一区精品| 欧美刺激午夜性久久久久久久 | 国产精品白丝av| **欧美大码日韩| 欧美日韩中文字幕一区二区| 日韩电影免费在线观看网站| 精品国产电影一区二区| 99re热这里只有精品免费视频| 亚洲黄色小视频| 日韩免费一区二区三区在线播放| 国产精品一二二区| 夜夜揉揉日日人人青青一国产精品| 欧美福利视频导航| 国产精品一区二区久久精品爱涩| 亚洲欧美日韩一区| 日韩一区二区三| 色婷婷一区二区三区四区| 久久精工是国产品牌吗| 亚洲免费观看高清完整版在线观看| av电影在线观看一区| 91精品国产免费| 成人午夜碰碰视频| 日日夜夜免费精品视频| 国产欧美一区二区三区鸳鸯浴| 色菇凉天天综合网| 久久99精品久久久久久国产越南 | 国产99久久久国产精品潘金| 亚洲高清免费观看 | 国产九色精品成人porny| 亚洲精品国产精品乱码不99| 欧美电影免费观看高清完整版在线| 99v久久综合狠狠综合久久| 日韩电影一二三区| 亚洲午夜日本在线观看| 亚洲国产精品av| 精品国产sm最大网站| 欧美日韩高清在线播放| 色噜噜狠狠成人中文综合 | 久久精品国产精品亚洲精品| 一区二区三区不卡在线观看| 久久精品一区蜜桃臀影院| 日韩手机在线导航| 欧美在线视频日韩| 色就色 综合激情| 成人一区二区三区在线观看| 久久er精品视频| 丝袜诱惑亚洲看片| 亚洲123区在线观看| 亚洲美女淫视频| 亚洲精品写真福利| 亚洲欧洲三级电影| 综合婷婷亚洲小说| 国产精品欧美久久久久无广告| 精品乱人伦小说| 欧美一区二区二区| 欧美一级视频精品观看| 欧美日韩国产小视频在线观看| 一本久久a久久精品亚洲| 成人国产精品视频| 成人小视频在线| 高清不卡一区二区| 成人黄色av电影| 成人不卡免费av| k8久久久一区二区三区| 成人看片黄a免费看在线| 成人黄动漫网站免费app| 成人app网站| 在线观看亚洲精品视频| 欧美四级电影网| 亚洲另类一区二区| 午夜精品久久久久久久 | 成人黄色a**站在线观看| 成人av电影免费在线播放| 成人99免费视频| 色婷婷综合久色| 欧美亚洲国产bt| 日韩久久久久久| 久久综合九色综合欧美就去吻| 久久精品免视看| 综合分类小说区另类春色亚洲小说欧美| 国产精品伦一区二区三级视频| 国产精品国产三级国产有无不卡| **欧美大码日韩| 一区二区不卡在线播放| 手机精品视频在线观看| 韩国视频一区二区| 99国产精品国产精品毛片| 欧美在线视频日韩| 欧美mv日韩mv国产网站app| 国产日韩欧美麻豆| 亚洲国产wwwccc36天堂| 亚洲一区二区影院| 国产精品综合一区二区| 色综合网色综合| 欧美精品一区二区三区高清aⅴ| 国产精品免费看片| 亚洲观看高清完整版在线观看| 老司机一区二区| 色中色一区二区| 欧美一区二区三区的| 国产色一区二区| 一区二区三区在线观看欧美| 麻豆久久久久久| 91视频在线观看| 日韩亚洲国产中文字幕欧美| 中文字幕高清不卡| 日韩av成人高清| av资源网一区| 久久亚洲精精品中文字幕早川悠里| av在线一区二区| 91精品黄色片免费大全| 一区二区中文字幕在线| 美女视频黄 久久| 日本高清不卡一区| 国产欧美一区在线| 日韩中文字幕不卡| 99久久精品国产毛片| ww久久中文字幕|