這篇文章主要介紹了ThinkPHP3.2框架自訂配置和載入用法,結合實例形式分析了thinkPHP3.2框架使用自訂配置保存預定義數組資料相關操作技巧,需要的朋友可以參考下
本文實例講述了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' => '其他' );
require_once('type.php'); echo $type[1]; //输出'查询物流' foreach($type as $k => $v){ //直接打印出最上面的下拉菜单代码, echo "<option value = '{$k}' >{$v}</option>"; }
__APP__或
__ROOT__快捷入口是不行的,
U()造鏈函數我沒試,應該是可以實現的。
C()加載配置函數把這個陣列載入出來賦給一個變數就好了。
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框架自訂配置和載入的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!