thinkphp5多數(shù)據(jù)庫配置介紹

thinkphp5多數(shù)據(jù)庫配置介紹

thinkphp遵循慣例重于配置的原則,系統(tǒng)會(huì)按照下面的順序來加載配置文件(配置的優(yōu)先順序從右到左)。

慣例配置->應(yīng)用配置->模塊配置->動(dòng)態(tài)配置

慣例配置:核心框架內(nèi)置的配置文件,無需更改。

應(yīng)用配置:每個(gè)應(yīng)用的全局配置文件(框架安裝后會(huì)生成初始的應(yīng)用配置文件),有部分配置參數(shù)僅能在應(yīng)用配置文件中設(shè)置。

立即學(xué)習(xí)PHP免費(fèi)學(xué)習(xí)筆記(深入)”;

模塊配置:每個(gè)模塊的配置文件(相同的配置參數(shù)會(huì)覆蓋應(yīng)用配置),有部分配置參數(shù)模塊配置是無效的,因?yàn)橐呀?jīng)使用過。

動(dòng)態(tài)配置:主要是指在控制器或者行為中進(jìn)行(動(dòng)態(tài))更改配置,該配置方式只在當(dāng)次請(qǐng)求有效,因?yàn)椴粫?huì)保存到配置文件中。

TP5.1的數(shù)據(jù)庫配置文件在applicationconfigdatabase.php中

當(dāng)然,在application模塊名configdatabase.php(模塊配置)中的配置,優(yōu)先級(jí)會(huì)比在applicationconfigdatabase.php(應(yīng)用配置)中高

比如同時(shí)在模塊配置和在應(yīng)用配置中配置數(shù)據(jù)庫連接,那么會(huì)優(yōu)先使用模塊配置,如果模塊配置中沒有,那么會(huì)去找應(yīng)用配置中的配置信息。動(dòng)態(tài)配置的優(yōu)先級(jí)最高。

我們只需要在控制器和數(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'????????????=&gt;?'mysql', ????//?服務(wù)器地址 ????'hostname'????????=&gt;?'127.0.0.1', ????//?數(shù)據(jù)庫名 ????'database'????????=&gt;?'', ????//?用戶名 ????'username'????????=&gt;?'root', ????//?密碼 ????'password'????????=&gt;?'', ????//?端口 ????'hostport'????????=&gt;?'', ????//?連接dsn ????'dsn'?????????????=&gt;?'', ????//?數(shù)據(jù)庫連接參數(shù) ????'params'??????????=&gt;?[], ????//?數(shù)據(jù)庫編碼默認(rèn)采用utf8 ????'charset'?????????=&gt;?'utf8', ????//?數(shù)據(jù)庫表前綴 ????'prefix'??????????=&gt;?'', ????//?數(shù)據(jù)庫調(diào)試模式 ????'debug'???????????=&gt;?true, ????//?數(shù)據(jù)庫部署方式:0?集中式(單一服務(wù)器),1?分布式(主從服務(wù)器) ????'deploy'??????????=&gt;?0, ????//?數(shù)據(jù)庫讀寫是否分離?主從式有效 ????'rw_separate'?????=&gt;?false, ????//?讀寫分離后?主服務(wù)器數(shù)量 ????'master_num'??????=&gt;?1, ????//?指定從服務(wù)器序號(hào) ????'slave_no'????????=&gt;?'', ????//?自動(dòng)讀取主庫數(shù)據(jù) ????'read_master'?????=&gt;?false, ????//?是否嚴(yán)格檢查字段是否存在 ????'fields_strict'???=&gt;?true, ????//?數(shù)據(jù)集返回類型 ????'resultset_type'??=&gt;?'array', ????//?自動(dòng)寫入時(shí)間戳字段 ????'auto_timestamp'??=&gt;?false, ????//?時(shí)間字段取出后的默認(rèn)時(shí)間格式 ????'datetime_format'?=&gt;?'Y-m-d?H:i:s', ????//?是否需要進(jìn)行SQL性能分析 ????'sql_explain'?????=&gt;?false, ????//?Builder類 ????'builder'?????????=&gt;?'', ????//?Query類 ????'query'???????????=&gt;?'thinkdbQuery', ????//?是否需要斷線重連 ????'break_reconnect'?=&gt;?false, ????//?斷線標(biāo)識(shí)字符串 ????'break_match_str'?=&gt;?[], ????'db_config1'??????=&gt;?[ ????????//?數(shù)據(jù)庫類型 ????????'type'????????????=&gt;?'sqlsrv', ????????//?服務(wù)器地址 ????????'hostname'????????=&gt;?'192.168.1.1', ????????//?用戶名 ????????'username'????????=&gt;?'username', ????????//?密碼 ????????'password'????????=&gt;?'passwd', ????????//?數(shù)據(jù)庫名稱 ????????'database'????????=&gt;?'dbname', ????], ????'db_config2'??????=&gt;?[ ????????//?數(shù)據(jù)庫類型 ????????'type'????????????=&gt;?'mysql', ????????//?服務(wù)器地址 ????????'hostname'????????=&gt;?'192.168.1.2', ????????//?用戶名 ????????'username'????????=&gt;?'username', ????????//?密碼 ????????'password'????????=&gt;?'passwd', ????????//?數(shù)據(jù)庫名稱 ????????'database'????????=&gt;?'dbname', ????] ];

db_config1和db_config2可以看作是兩個(gè)不同的數(shù)據(jù)庫連接

我們?cè)诳刂破髦芯涂梢赃@樣調(diào)用不同的數(shù)據(jù)庫

<?php use thinkDb; $verify1 = Db::connect(&#39;db_config1&#39;)->table('tablename')-&gt;where([ ???['username','=',$username], ???['password','=',$password], ])-&gt;find(); ? $verify2?=?Db::connect('db_config2')-&gt;table('tablename')-&gt;where([ ???['username','=',$username], ???['password','=',$password], ])-&gt;find();

推薦教程:《TP5

以上就是

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊9 分享