主頁 > 知識庫 > ThinkPHP3.2框架自定義配置和加載用法示例

ThinkPHP3.2框架自定義配置和加載用法示例

熱門標(biāo)簽:電子圍欄 Linux服務(wù)器 銀行業(yè)務(wù) Mysql連接數(shù)設(shè)置 服務(wù)器配置 阿里云 科大訊飛語音識別系統(tǒng) 團(tuán)購網(wǎng)站

本文實(shí)例講述了ThinkPHP3.2框架自定義配置和加載用法。分享給大家供大家參考,具體如下:

有時(shí)候我們會有一些規(guī)則定義每個(gè)數(shù)字對應(yīng)的實(shí)際內(nèi)容,比如說在下拉菜單的時(shí)候:

select name="reasonAndType" id="">
  option value="1">查詢物流/option>
  option value="2">辦理退貨/option>
  option value="3">咨詢退貨/option>
  option value="4">咨詢傭金/option>
  option value="5">咨詢規(guī)則/option>
  option value="0">其他/option>
/select>

←實(shí)際效果

←數(shù)據(jù)庫存的效果

←顯示的時(shí)候。

這個(gè)例子里,實(shí)際顯示的是漢字,實(shí)際的value值是數(shù)字,等我們向數(shù)據(jù)庫存的時(shí)候也是存數(shù)字,等我們從數(shù)據(jù)庫獲取的時(shí)候也是取數(shù)字,顯示的時(shí)候也是顯示漢字;

所以我們需要一個(gè)類似字典的東西,它定義了那個(gè)數(shù)字對應(yīng)的漢字是什么,定義的實(shí)際意義是什么;

用數(shù)據(jù)庫能夠?qū)崿F(xiàn)這個(gè)效果,但我們不用,因?yàn)閷?shù)據(jù)庫的操作開銷太大;

如果是普通的PHP環(huán)境,我們可以把規(guī)則單獨(dú)存到一個(gè)文件里,內(nèi)容是一個(gè)數(shù)組:

type.PHP

$type = array(
'1' => '查詢物流',
'2' => '辦理退貨',
'3' => '咨詢退貨',
'4' => '咨詢傭金',
'5' => '咨詢規(guī)則',
'0' => '其他'
);

就像上面代碼那樣,定義好之后,存成一個(gè)文件,當(dāng)我們需要調(diào)用這個(gè)這個(gè)規(guī)則的時(shí)候,就include或者require,然后直接用$type這個(gè)變量去找就行了,比如:

require_once('type.php');
echo $type[1]; //輸出'查詢物流'
foreach($type as $k => $v){ //直接打印出最上面的下拉菜單代碼,
echo "option value = '{$k}' >{$v}/option>";
}

如果在ThinkPHP,要是想引入文件,只能用絕對路徑,在include和require用__APP__或者__ROOT__快捷入口是不行的,U()造鏈函數(shù)我沒試,應(yīng)該是可以實(shí)現(xiàn)的。

還有一種實(shí)現(xiàn)方式,也是我在這里推薦的,就是直接把這套規(guī)則定義為這個(gè)網(wǎng)站的配置文件,當(dāng)我們用的時(shí)候,用C()加載配置函數(shù)把這個(gè)數(shù)組加載出來賦給一個(gè)變量就好了。

上代碼了:

把你定義的規(guī)則放到conf下,這是私有配置文件,只有Home這個(gè)入口的才生效,也可以放到公共配置文件下,細(xì)節(jié)可以去查手冊。

return array(
'REASON_AND_TYPE' => array(
'1' => '查詢物流',
'2' => '辦理退貨',
'3' => '咨詢退貨',
'4' => '咨詢傭金',
'5' => '咨詢規(guī)則',
'0' => '其他'
)
);

注意加上return;

注意,格式,return一個(gè)數(shù)組,鍵名是大寫的(為了好看),鍵值是你要定義的東西,在這里我們定義的是一個(gè)數(shù)組。

修改config.php文件

?php
return array(
//'配置項(xiàng)'=>'配置值'
'DB_TYPE' => 'mysqli', // 數(shù)據(jù)庫類型
'DB_HOST' => 'localhost', // 服務(wù)器地址
'DB_NAME' => 'kefu', // 數(shù)據(jù)庫名
'DB_USER' => 'root', // 用戶名
'DB_PWD' => 'root', // 密碼
'DB_PORT' => '', // 端口
'DB_PREFIX' => '', // 數(shù)據(jù)庫表前綴
'LOAD_EXT_CONFIG' => 'reasonAndType', //這是我們自己添加的,LOAD_EXT_CONFIG鍵名固定,鍵值是你的php文件的文件名,那個(gè)數(shù)組名字在這里就不用管了
);

這就算配置好了。

下面講調(diào)用這套規(guī)則:

$reasonAndTypeX = C('REASON_AND_TYPE');
//直接用數(shù)組名字就可以了,C()函數(shù)能加載配置里的鍵名所代表的值,賦給變量

注意,C()函數(shù)的里面的值,是reasonAndType這個(gè)文件的值。

var_dump($reasonAndTypeX);

就會輸入這個(gè)數(shù)組的內(nèi)容

array(
'1' => '查詢物流',
'2' => '辦理退貨',
'3' => '咨詢退貨',
'4' => '咨詢傭金',
'5' => '咨詢規(guī)則',
'0' => '其他'
);

這樣就完成了自定義配置文件的設(shè)置和加載。

如果‘REASON_AND_TYPE'沒有配置,則會返回一個(gè)null值;

當(dāng)然,你也可以設(shè)置默認(rèn)值,代碼如下:

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

更多關(guān)于thinkPHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結(jié)》、《ThinkPHP常用方法總結(jié)》、《codeigniter入門教程》、《CI(CodeIgniter)框架進(jìn)階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術(shù)總結(jié)》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • thinkPHP框架動態(tài)配置用法實(shí)例分析
  • thinkPHP5.0框架獨(dú)立配置與動態(tài)配置方法
  • Thinkphp 框架配置操作之配置加載與讀取配置實(shí)例分析
  • ThinkPHP 5.1 跨域配置方法
  • Nginx下ThinkPHP5的配置方法詳解
  • thinkPHP5.0框架配置格式、加載解析與讀取方法
  • thinkPHP5.0框架簡單配置作用域的方法
  • thinkPHP5.0框架環(huán)境變量配置方法
  • thinkPHP中鉤子的兩種配置調(diào)用方法詳解
  • Thinkphp 框架配置操作之動態(tài)配置、擴(kuò)展配置及批量配置實(shí)例分析

標(biāo)簽:蚌埠 棗莊 衡水 衢州 大理 江蘇 廣元 萍鄉(xiāng)

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ThinkPHP3.2框架自定義配置和加載用法示例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266