溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何操作Thinkphp 框架配置操作之配置加載與讀取配置

發(fā)布時間:2021-03-08 15:42:05 來源:億速云 閱讀:146 作者:TREX 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“如何操作Thinkphp 框架配置操作之配置加載與讀取配置”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何操作Thinkphp 框架配置操作之配置加載與讀取配置”吧!

配置加載

在ThinkPHP中,一般來說應(yīng)用的配置文件是自動加載的,加載的順序是:

慣例配置->應(yīng)用配置->模式配置->調(diào)試配置->狀態(tài)配置->模塊配置->擴(kuò)展配置->動態(tài)配置

以上是配置文件的加載順序,因為后面的配置會覆蓋之前的同名配置(在沒有生效的前提下),所以配置的優(yōu)先順序從右到左。

不同的配置文件的區(qū)別和位置:

慣例配置

慣例重于配置是系統(tǒng)遵循的一個重要思想,框架內(nèi)置有一個慣例配置文件(位于ThinkPHP/Conf/convention.php),按照大多數(shù)的使用對常用參數(shù)進(jìn)行了默認(rèn)配置。所以,對于應(yīng)用的配置文件,往往只需要配置和慣例配置不同的或者新增的配置參數(shù),如果你完全采用默認(rèn)配置,甚至可以不需要定義任何配置文件

應(yīng)用配置

應(yīng)用配置文件也就是調(diào)用所有模塊之前都會首先加載的公共配置文件(默認(rèn)位于Application/Common/Conf/config.php)。

如果更改了公共模塊的名稱的話,公共配置文件的位置也相應(yīng)改變

模式配置(可選)

如果使用了普通應(yīng)用模式之外的應(yīng)用模式的話,還可以為應(yīng)用模式(后面會有描述)單獨定義配置文件,文件命名規(guī)范是: Application/Common/Conf/config_應(yīng)用模式名稱.php(僅在運行該模式下面才會加載)。

模式配置文件是可選的

調(diào)試配置(可選)

如果開啟調(diào)試模式的話,則會自動加載框架的調(diào)試配置文件(位于ThinkPHP/Conf/debug.php)和應(yīng)用調(diào)試配置文件(位于Application/Common/Conf/debug.php

狀態(tài)配置(可選)

每個應(yīng)用都可以在不同的情況下設(shè)置自己的狀態(tài)(或者稱之為應(yīng)用場景),并且加載不同的配置文件。

舉個例子,你需要在公司和家里分別設(shè)置不同的數(shù)據(jù)庫測試環(huán)境。那么可以這樣處理,在公司環(huán)境中,我們在入口文件中定義:

define('APP_STATUS','office');

那么就會自動加載該狀態(tài)對應(yīng)的配置文件(位于Application/Common/Conf/office.php)。

如果我們回家后,我們修改定義為:

define('APP_STATUS','home');

那么就會自動加載該狀態(tài)對應(yīng)的配置文件(位于Application/Common/Conf/home.php)。

狀態(tài)配置文件是可選的

模塊配置

每個模塊會自動加載自己的配置文件(位于Application/當(dāng)前模塊名/Conf/config.php)。

如果使用了普通模式之外的其他應(yīng)用模式,你還可以為應(yīng)用模式單獨定義配置文件,命名規(guī)范為: Application/當(dāng)前模塊名/Conf/config_應(yīng)用模式名稱.php(僅在運行該模式下面才會加載)。

模塊還可以支持獨立的狀態(tài)配置文件,命名規(guī)范為: Application/當(dāng)前模塊名/Conf/應(yīng)用狀態(tài).php。

讀取配置

無論何種配置文件,定義了配置文件之后,都統(tǒng)一使用系統(tǒng)提供的C方法(可以借助Config單詞來幫助記憶)來讀取已有的配置。

用法:

C('參數(shù)名稱')

例如,讀取當(dāng)前的URL模式配置參數(shù):

$model = C('URL_MODEL');
// 由于配置參數(shù)不區(qū)分大小寫,因此下面的寫法是等效的
// $model = C('url_model');

但是建議使用大寫方式的規(guī)范。

注意:配置參數(shù)名稱中不能含有 “.” 和特殊字符,允許字母、數(shù)字和下劃線。

如果url_model尚未存在設(shè)置,則返回NULL。

支持在讀取的時候設(shè)置默認(rèn)值,例如:

// 如果my_config尚未設(shè)置的話,則返回default_config字符串
C('my_config',null,'default_config');

C方法也可以用于讀取二維配置:

//獲取用戶配置中的用戶類型設(shè)置
C('USER_CONFIG.USER_TYPE');

因為配置參數(shù)是全局有效的,因此C方法可以在任何地方讀取任何配置,即使某個設(shè)置參數(shù)已經(jīng)生效過期了。

到此,相信大家對“如何操作Thinkphp 框架配置操作之配置加載與讀取配置”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI