本文實例講述了ThinkPHP3.2框架自定義配置和加載用法。分享給大家供大家參考,具體如下:
有時候我們會有一些規則定義每個數字對應的實際內容,比如說在下拉菜單的時候:
select name= reasonAndType id= option html' target='_blank'>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文件
?phpreturn 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
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
thinkPHP框架如何實現多表查詢
關于thinkPHP框架動態配置的用法分析
以上就是關于ThinkPHP3.2框架自定義配置和加載的用法的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答