小編給大家分享一下thinkphp5多數(shù)據(jù)庫配置的案例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
城陽ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!ThinkPHP遵循慣例重于配置的原則,系統(tǒng)會按照下面的順序來加載配置文件(配置的優(yōu)先順序從右到左)。
慣例配置->應用配置->模塊配置->動態(tài)配置
慣例配置:核心框架內(nèi)置的配置文件,無需更改。
應用配置:每個應用的全局配置文件(框架安裝后會生成初始的應用配置文件),有部分配置參數(shù)僅能在應用配置文件中設置。
模塊配置:每個模塊的配置文件(相同的配置參數(shù)會覆蓋應用配置),有部分配置參數(shù)模塊配置是無效的,因為已經(jīng)使用過。
動態(tài)配置:主要是指在控制器或者行為中進行(動態(tài))更改配置,該配置方式只在當次請求有效,因為不會保存到配置文件中。
TP5.1的數(shù)據(jù)庫配置文件在application\config\database.php中
當然,在application\模塊名\config\database.php(模塊配置)中的配置,優(yōu)先級會比在application\config\database.php(應用配置)中高
比如同時在模塊配置和在應用配置中配置數(shù)據(jù)庫連接,那么會優(yōu)先使用模塊配置,如果模塊配置中沒有,那么會去找應用配置中的配置信息。動態(tài)配置的優(yōu)先級高。
我們只需要在控制器和數(shù)據(jù)庫配置文件中操作即可,無需用到模型
<?php // +---------------------------------------------------------------------- // | ThinkPHP [ WE CAN DO IT JUST THINK ] // +---------------------------------------------------------------------- // | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Author: liu21st <liu21st@gmail.com> // +---------------------------------------------------------------------- return [ // 數(shù)據(jù)庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數(shù)據(jù)庫名 'database' => '', // 用戶名 'username' => 'root', // 密碼 'password' => '', // 端口 'hostport' => '', // 連接dsn 'dsn' => '', // 數(shù)據(jù)庫連接參數(shù) 'params' => [], // 數(shù)據(jù)庫編碼默認采用utf8 'charset' => 'utf8', // 數(shù)據(jù)庫表前綴 'prefix' => '', // 數(shù)據(jù)庫調(diào)試模式 'debug' => true, // 數(shù)據(jù)庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數(shù)據(jù)庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數(shù)量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', // 自動讀取主庫數(shù)據(jù) 'read_master' => false, // 是否嚴格檢查字段是否存在 'fields_strict' => true, // 數(shù)據(jù)集返回類型 'resultset_type' => 'array', // 自動寫入時間戳字段 'auto_timestamp' => false, // 時間字段取出后的默認時間格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要進行SQL性能分析 'sql_explain' => false, // Builder類 'builder' => '', // Query類 'query' => '\\think\\db\\Query', // 是否需要斷線重連 'break_reconnect' => false, // 斷線標識字符串 'break_match_str' => [], 'db_config1' => [ // 數(shù)據(jù)庫類型 'type' => 'sqlsrv', // 服務器地址 'hostname' => '192.168.1.1', // 用戶名 'username' => 'username', // 密碼 'password' => 'passwd', // 數(shù)據(jù)庫名稱 'database' => 'dbname', ], 'db_config2' => [ // 數(shù)據(jù)庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '192.168.1.2', // 用戶名 'username' => 'username', // 密碼 'password' => 'passwd', // 數(shù)據(jù)庫名稱 'database' => 'dbname', ] ];
db_config1和db_config2可以看作是兩個不同的數(shù)據(jù)庫連接
我們在控制器中就可以這樣調(diào)用不同的數(shù)據(jù)庫
<?php use think\Db; $verify1 = Db::connect('db_config1')->table('tablename')->where([ ['username','=',$username], ['password','=',$password], ])->find(); $verify2 = Db::connect('db_config2')->table('tablename')->where([ ['username','=',$username], ['password','=',$password], ])->find();
看完了這篇文章,相信你對“thinkphp5多數(shù)據(jù)庫配置的案例”有了一定的了解,如果想了解更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站標題:thinkphp5多數(shù)據(jù)庫配置的案例-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://aaarwkj.com/article26/cchscg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、全網(wǎng)營銷推廣、自適應網(wǎng)站、外貿(mào)網(wǎng)站建設、外貿(mào)建站、品牌網(wǎng)站建設
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容