您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關ThinkPHP3.2框架中怎么自定義配置,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
具體如下:
<select name="reasonAndType" id=""> <option value="1">查詢物流</option> <option value="2">辦理退貨</option> <option value="3">咨詢退貨</option> <option value="4">咨詢傭金</option> <option value="5">咨詢規則</option> <option value="0">其他</option> </select>
←實際效果
←數據庫存的效果
←顯示的時候。
這個例子里,實際顯示的是漢字,實際的value值是數字,等我們向數據庫存的時候也是存數字,等我們從數據庫獲取的時候也是取數字,顯示的時候也是顯示漢字;
所以我們需要一個類似字典的東西,它定義了那個數字對應的漢字是什么,定義的實際意義是什么;
用數據庫能夠實現這個效果,但我們不用,因為對數據庫的操作開銷太大;
如果是普通的PHP環境,我們可以把規則單獨存到一個文件里,內容是一個數組:
type.PHP
$type = array( '1' => '查詢物流', '2' => '辦理退貨', '3' => '咨詢退貨', '4' => '咨詢傭金', '5' => '咨詢規則', '0' => '其他' );
就像上面代碼那樣,定義好之后,存成一個文件,當我們需要調用這個這個規則的時候,就include或者require,然后直接用$type這個變量去找就行了,比如:
require_once('type.php'); echo $type[1]; //輸出'查詢物流' foreach($type as $k => $v){ //直接打印出最上面的下拉菜單代碼, echo "<option value = '{$k}' >{$v}</option>"; }
如果在ThinkPHP,要是想引入文件,只能用絕對路徑,在include和require用__APP__
或者__ROOT__
快捷入口是不行的,U()
造鏈函數我沒試,應該是可以實現的。
還有一種實現方式,也是我在這里推薦的,就是直接把這套規則定義為這個網站的配置文件,當我們用的時候,用C()
加載配置函數把這個數組加載出來賦給一個變量就好了。
上代碼了:
把你定義的規則放到conf下,這是私有配置文件,只有Home這個入口的才生效,也可以放到公共配置文件下,細節可以去查手冊。
return array( 'REASON_AND_TYPE' => array( '1' => '查詢物流', '2' => '辦理退貨', '3' => '咨詢退貨', '4' => '咨詢傭金', '5' => '咨詢規則', '0' => '其他' ) );
注意加上return;
注意,格式,return一個數組,鍵名是大寫的(為了好看),鍵值是你要定義的東西,在這里我們定義的是一個數組。
修改config.php文件
<?php return array( //'配置項'=>'配置值' 'DB_TYPE' => 'mysqli', // 數據庫類型 'DB_HOST' => 'localhost', // 服務器地址 'DB_NAME' => 'kefu', // 數據庫名 'DB_USER' => 'root', // 用戶名 'DB_PWD' => 'root', // 密碼 'DB_PORT' => '', // 端口 'DB_PREFIX' => '', // 數據庫表前綴 'LOAD_EXT_CONFIG' => 'reasonAndType', //這是我們自己添加的,LOAD_EXT_CONFIG鍵名固定,鍵值是你的php文件的文件名,那個數組名字在這里就不用管了 );
這就算配置好了。
下面講調用這套規則:
$reasonAndTypeX = C('REASON_AND_TYPE'); //直接用數組名字就可以了,C()函數能加載配置里的鍵名所代表的值,賦給變量
注意,C()
函數的里面的值,是reasonAndType這個文件的值。
var_dump($reasonAndTypeX);
就會輸入這個數組的內容
array( '1' => '查詢物流', '2' => '辦理退貨', '3' => '咨詢退貨', '4' => '咨詢傭金', '5' => '咨詢規則', '0' => '其他' );
這樣就完成了自定義配置文件的設置和加載。
如果‘REASON_AND_TYPE'沒有配置,則會返回一個null值;
當然,你也可以設置默認值,代碼如下:
// 如果REASON_AND_TYPE尚未設置的話,則返回default_config字符串 C('my_config',null,'default_config');
以上就是ThinkPHP3.2框架中怎么自定義配置,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。