關於ThinkPHP3.2架構自訂配置和載入的用法

來源:互聯網
上載者:User
這篇文章主要介紹了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' => '其他');

就像上面代碼那樣,定義好之後,存成一個檔案,當我們需要調用這個這個規則的時候,就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');

以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.