新聞中心
ThinkPHP作為一個開源的PHP開發(fā)框架,它具有簡單易用、靈活性強的特點,因此受到了越來越多的開發(fā)者的青睞。而在ThinkPHP的應(yīng)用中,數(shù)據(jù)庫是一個非常關(guān)鍵的組成部分。在ThinkPHP中,數(shù)據(jù)庫配置文件是起著至關(guān)重要作用的,它的配置關(guān)系著整個應(yīng)用程序的運作。那么,我們該如何呢?本篇文章將帶您詳細了解thinkphp的數(shù)據(jù)庫配置文件,從而提高開發(fā)者的開發(fā)效率。

成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的陵川網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
1.數(shù)據(jù)庫配置文件的位置
在ThinkPHP的應(yīng)用程序中,數(shù)據(jù)庫配置文件的文件名為database.php,其位置為ThinkPHP應(yīng)用程序的conf目錄下。在這個文件中,我們可以配置數(shù)據(jù)庫連接的信息等相關(guān)參數(shù),如數(shù)據(jù)庫類型、名稱、用戶名、密碼、端口號等,可以方便的進行數(shù)據(jù)庫的連接和信息配置。
2.數(shù)據(jù)庫連接信息的配置
在database.php文件中,我們可以配置數(shù)據(jù)庫連接信息,如下所示:
“`
return array(
‘DB_TYPE’ => ‘mysql’,
‘DB_HOST’ => ‘localhost’,
‘DB_NAME’ => ‘mydatabase’,
‘DB_USER’ => ‘root’,
‘DB_PWD’ => ”,
‘DB_PORT’ => ”,
‘DB_PREFIX’ => ”,
);
“`
其中,常用的配置參數(shù)如下:
(1)DB_TYPE
我們可以在這里配置數(shù)據(jù)庫類型,包括mysql、mysqli、pdo_mysql、oracle等等。
(2)DB_HOST
在這里配置主機地址,一般來說,都是localhost。
(3)DB_NAME
在這里配置數(shù)據(jù)庫名稱。
(4)DB_USER
在這里配置數(shù)據(jù)庫用戶名。
(5)DB_PWD
在這里配置數(shù)據(jù)庫密碼。
(6)DB_PORT
在這里配置數(shù)據(jù)庫端口號,這個參數(shù)可以不配置,默認為3306。
(7)DB_PREFIX
在這里配置數(shù)據(jù)庫表前綴,這個參數(shù)可以不配置,默認為空。
通過以上的配置,我們就可以完成數(shù)據(jù)庫的連接信息的配置,從而使得我們可以正常地與數(shù)據(jù)庫進行交互。
3.數(shù)據(jù)庫模型的使用
在ThinkPHP中,我們可以通過模型來和數(shù)據(jù)庫進行交互,這樣就可以極大地提高我們的開發(fā)效率。而數(shù)據(jù)庫模型的使用,要基于配置好的數(shù)據(jù)庫連接信息。
(1)生成模型類
在使用數(shù)據(jù)庫模型之前,我們需要先生成模型類??梢允褂肨hinkPHP提供的命令來生成模型類,如下所示:
“`
php think make:model User
“`
其中,參數(shù)User為模型名稱,執(zhí)行上述命令后,將會在應(yīng)用程序的app目錄下生成一個User.php文件,也就是User模型類。
(2)繼承模型類
在生成模型類之后,我們需要在具體業(yè)務(wù)邏輯代碼中來使用該模型,如下所示:
“`
namespace app\index\controller;
use app\index\model\User as UserModel;
class User extends Controller
{
public function index()
{
$userModel = new UserModel;
$userList = $userModel->select();
$this->assign(‘userList’, $userList);
return $this->fetch();
}
}
“`
在上述代碼中,我們使用了app\index\model\User類來進行數(shù)據(jù)庫查詢,然后將查詢結(jié)果傳遞給視圖文件進行渲染。通過這樣的方式,我們就可以很方便地使用數(shù)據(jù)庫模型類來進行數(shù)據(jù)庫操作。
4.
在本篇文章中,我們詳細了解了ThinkPHP的數(shù)據(jù)庫配置文件,并學(xué)習(xí)了如何使用數(shù)據(jù)庫模型類來進行數(shù)據(jù)庫操作。希望通過本篇文章的學(xué)習(xí),大家可以更加熟練地掌握ThinkPHP的開發(fā)技術(shù),從而實現(xiàn)高效地開發(fā)。
相關(guān)問題拓展閱讀:
- thikphp 單獨php文件怎樣操作數(shù)據(jù)庫
- 請問thinkphp 在哪里讀取的Conf/conf.php文件里的數(shù)據(jù)庫配置信息?
thikphp 單獨php文件怎樣操作數(shù)據(jù)庫
ThinkPHP內(nèi)置了抽象數(shù)據(jù)庫訪問層,把不同的數(shù)據(jù)庫操作封裝起來,我們只需要使用公共的Db類進行操作,而無需針對不同的數(shù)據(jù)庫寫不同的代碼和底層實現(xiàn),Db類會自動調(diào)用相應(yīng)的數(shù)據(jù)庫驅(qū)動來處理。目前的數(shù)據(jù)庫包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括對PDO的支持,如果應(yīng)用需要使用數(shù)據(jù)庫,必須配置數(shù)據(jù)庫連接信息,數(shù)據(jù)庫的配置文件有多種定義方式。
常用的配置方式是在項目配置文件中添加下面的參數(shù):
‘mysql’, // 數(shù)據(jù)庫類型
’DB_HOST’ => ‘localhost’, // 服務(wù)器地址
’DB_NAME’ => ‘thinkphp’, // 數(shù)據(jù)庫名
’DB_USER’ => ‘root’, // 用戶名
’DB_PWD’ => ”, // 密碼
’DB_PORT’ => 3306, // 端口
’DB_PREFIX’ => ‘think_’, // 數(shù)據(jù)庫表前綴
//其他項目配置參數(shù)
// …
);
或者采用如下配置
’DB_DSN’ => ‘
使用DB_DSN方式定義可以簡化配置參數(shù),DSN參數(shù)格式為:
數(shù)據(jù)庫類型://用戶名:密碼@數(shù)據(jù)庫
如果兩種配置參數(shù)同時存在的話,DB_DSN配置參數(shù)優(yōu)先。
注意:如果要設(shè)置分布式數(shù)據(jù)庫,暫時不支持DB_DSN方式配置。1
如果采用PDO驅(qū)動的話,則必須首先配置DB_TYPE 為pdo,然后還需要單獨配置其他參數(shù),例如:
//PDO連接方式
’DB_TYPE’ => ‘pdo’, // 數(shù)據(jù)庫類型
’DB_USER’ => ‘root’, // 用戶名
’DB_PWD’ => ”, // 密碼
’DB_PREFIX’ => ‘think_’, // 數(shù)據(jù)庫表前綴
’DB_DSN’ => ‘mysql:host=localhost;dbname=thinkphp;charset=UTF-8’
注意:PDO方式的DB_DSN配置格式有所區(qū)別,根據(jù)不同的數(shù)據(jù)庫類型設(shè)置有所不同。
配置文件定義的數(shù)據(jù)庫連接信息一般是系統(tǒng)默認采用的,因為一般一個項目的數(shù)據(jù)庫訪問配置是相同的。該方法系統(tǒng)在連接數(shù)據(jù)庫的時候會自動獲取,無需手動連接。
可以對每個項目和不同的分組定義不同的數(shù)據(jù)庫連接信息,如果開啟了調(diào)試模式的話,還可以在不同的應(yīng)用狀態(tài)的配置文件里面定義獨立的數(shù)據(jù)庫配置信息。1
第二種 在模型類里面定義connection屬性
如果在某個模型類里面定義了connection屬性的話,則實例化該自定義模型的時候會核配采用定義的數(shù)據(jù)庫連接信息,而不是配置文件中設(shè)置的默認連接信息,通常用于某些數(shù)據(jù)表位于當(dāng)前數(shù)據(jù)庫連接之外的其它數(shù)據(jù)庫,例如:
//在模型里單獨設(shè)置數(shù)據(jù)庫連接信息
protected $connection = array(
’db_type’ => ‘mysql’,
’db_user’ => ‘root’,
’db_pwd’ => ‘1234’,
’db_host’ => ‘localhost’,
’db_port’ => ‘3306’,
’db_name’ => ‘thinkphp’
);
也可以采用DSN方式定義,例如:
//或者使用DSN定義
protected $connection = ‘
如果我們已經(jīng)在配置文件中配置了額外的數(shù)據(jù)庫連接信息,例如:
//數(shù)據(jù)庫配置1
’DB_CONFIG1′ => array(
’db_type’ => ‘mysql’,
’db_user’ => ‘root’,
族氏祥 ’db_pwd’ => ‘1234’,
’db_host’ => ‘localhost’,
’db_port’ => ‘3306’,
’db_name’ => ‘thinkphp’
),
//數(shù)據(jù)庫配置2
’DB_CONFIG2′ => ‘
那么,我們可以把模型類的屬性定義改為:
//調(diào)用配置文件中的數(shù)據(jù)庫配置1
兆搏protected $connection = ‘DB_CONFIG1’;
//調(diào)用配置文件中的數(shù)據(jù)庫配置2
protected $connection = ‘DB_CONFIG2’;
如果采用的是M方法實例化模型的話,也可以支持傳入不同的數(shù)據(jù)庫連接信息,例如:
$User = M(‘User’,’other_’,’
表示實例化User模型,連接的是demo數(shù)據(jù)庫的other_user表,采用的連接信息是第三個參數(shù)配置的。如果我們在項目配置文件中已經(jīng)配置了DB_CONFIG2的話,也可以采用:
$User = M(‘User’,’other_’,’DB_CONFIG2′);
如果你的個別數(shù)據(jù)表沒有定義任何前綴的話,可以在前綴參數(shù)中傳入NULL,例如:
$User = M(‘User’,Null,’DB_CONFIG2′);
表示實例化User模型,連接的是demo數(shù)據(jù)庫的user表。
需要注意的是,ThinkPHP的數(shù)據(jù)庫連接的惰性的,所以并不是在實例化的時候就連接數(shù)據(jù)庫,而是在有實際的數(shù)據(jù)操作的時候才會去連接數(shù)據(jù)庫(額外的情況是,在系統(tǒng)之一次實例化模型的時候,會自動連接數(shù)據(jù)庫獲取相關(guān)模型類對應(yīng)的數(shù)據(jù)表的字段信息)。
什么叫做單獨php文件?
file_get_contents訪問你寫的接口地址即可
不走thinkphp框架的話就是走普通連接流程
請問thinkphp 在哪里讀取的Conf/conf.php文件里的數(shù)據(jù)庫配置信息?
實例化 Think 類的時候 通過在 Think::buildApp 方法中調(diào)用 C 函數(shù)加載返乎
并以靜態(tài)斗猛變漏銷悉量的形式保留在 C 函數(shù)中
thinkphp的數(shù)據(jù)庫配置文件的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于thinkphp的數(shù)據(jù)庫配置文件,深入了解ThinkPHP的數(shù)據(jù)庫配置文件,thikphp 單獨php文件怎樣操作數(shù)據(jù)庫,請問thinkphp 在哪里讀取的Conf/conf.php文件里的數(shù)據(jù)庫配置信息?的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)建站主營:成都網(wǎng)站建設(shè)、網(wǎng)站維護、網(wǎng)站改版的網(wǎng)站建設(shè)公司,提供成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、成都網(wǎng)站推廣、成都網(wǎng)站優(yōu)化seo、響應(yīng)式移動網(wǎng)站開發(fā)制作等網(wǎng)站服務(wù)。
網(wǎng)站名稱:深入了解ThinkPHP的數(shù)據(jù)庫配置文件(thinkphp的數(shù)據(jù)庫配置文件)
文章分享:http://www.dlmjj.cn/article/djdgpjp.html


咨詢
建站咨詢
