您好,登錄后才能下訂單哦!
小編給大家分享一下thinkphp5多數據庫配置的案例,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
ThinkPHP遵循慣例重于配置的原則,系統會按照下面的順序來加載配置文件(配置的優先順序從右到左)。
慣例配置->應用配置->模塊配置->動態配置
慣例配置:核心框架內置的配置文件,無需更改。
應用配置:每個應用的全局配置文件(框架安裝后會生成初始的應用配置文件),有部分配置參數僅能在應用配置文件中設置。
模塊配置:每個模塊的配置文件(相同的配置參數會覆蓋應用配置),有部分配置參數模塊配置是無效的,因為已經使用過。
動態配置:主要是指在控制器或者行為中進行(動態)更改配置,該配置方式只在當次請求有效,因為不會保存到配置文件中。
TP5.1的數據庫配置文件在application\config\database.php中
當然,在application\模塊名\config\database.php(模塊配置)中的配置,優先級會比在application\config\database.php(應用配置)中高
比如同時在模塊配置和在應用配置中配置數據庫連接,那么會優先使用模塊配置,如果模塊配置中沒有,那么會去找應用配置中的配置信息。動態配置的優先級最高。
我們只需要在控制器和數據庫配置文件中操作即可,無需用到模型
<?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 [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => '', // 用戶名 'username' => 'root', // 密碼 'password' => '', // 端口 'hostport' => '', // 連接dsn 'dsn' => '', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => '', // 數據庫調試模式 'debug' => true, // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數據庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', // 自動讀取主庫數據 'read_master' => false, // 是否嚴格檢查字段是否存在 'fields_strict' => true, // 數據集返回類型 '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' => [ // 數據庫類型 'type' => 'sqlsrv', // 服務器地址 'hostname' => '192.168.1.1', // 用戶名 'username' => 'username', // 密碼 'password' => 'passwd', // 數據庫名稱 'database' => 'dbname', ], 'db_config2' => [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '192.168.1.2', // 用戶名 'username' => 'username', // 密碼 'password' => 'passwd', // 數據庫名稱 'database' => 'dbname', ] ];
db_config1和db_config2可以看作是兩個不同的數據庫連接
我們在控制器中就可以這樣調用不同的數據庫
<?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多數據庫配置的案例”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。