首頁 > 後端開發 > php教程 > 關於ThinkPHP3.2框架自訂配置和載入的用法

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

不言
發布: 2023-04-01 08:16:01
原創
1992 人瀏覽過

這篇文章主要介紹了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(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
);
登入後複製

就像上面程式碼那樣,定義好之後,存成一個文件,當我們需要呼叫這個這個規則的時候,就include或require,然後直接用$type這個變數去找就行了,例如:

require_once(&#39;type.php&#39;);
echo $type[1]; //输出&#39;查询物流&#39;
foreach($type as $k => $v){ //直接打印出最上面的下拉菜单代码,
echo "<option value = &#39;{$k}&#39; >{$v}</option>";
}
登入後複製

如果在ThinkPHP,要是想引入文件,只能用絕對路徑,在include和require用

__APP____ROOT__快捷入口是不行的,U()造鏈函數我沒試,應該是可以實現的。

還有一種實現方式,也是我在這裡推薦的,就是直接把這套規則定義為這個網站的配置文件,當我們用的時候,用

C()加載配置函數把這個陣列載入出來賦給一個變數就好了。

上程式碼了:

把你定義的規則放到conf下,這是私有設定文件,只有Home這個入口的才生效,也可以放到公共設定檔下,細節可以去查手冊。

return array(
&#39;REASON_AND_TYPE&#39; => array(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
)
);
登入後複製

注意加上return;

注意,格式,return一個數組,鍵名是大寫的(為了好看),鍵值是你要定義的東西,這裡我們定義的是一個陣列。

修改config.php檔

<?php
return array(
//&#39;配置项&#39;=>&#39;配置值&#39;
&#39;DB_TYPE&#39; => &#39;mysqli&#39;, // 数据库类型
&#39;DB_HOST&#39; => &#39;localhost&#39;, // 服务器地址
&#39;DB_NAME&#39; => &#39;kefu&#39;, // 数据库名
&#39;DB_USER&#39; => &#39;root&#39;, // 用户名
&#39;DB_PWD&#39; => &#39;root&#39;, // 密码
&#39;DB_PORT&#39; => &#39;&#39;, // 端口
&#39;DB_PREFIX&#39; => &#39;&#39;, // 数据库表前缀
&#39;LOAD_EXT_CONFIG&#39; => &#39;reasonAndType&#39;, //这是我们自己添加的,LOAD_EXT_CONFIG键名固定,键值是你的php文件的文件名,那个数组名字在这里就不用管了
);
登入後複製

這就算配置好了。

下面講呼叫這套規則:

$reasonAndTypeX = C(&#39;REASON_AND_TYPE&#39;);
//直接用数组名字就可以了,C()函数能加载配置里的键名所代表的值,赋给变量
登入後複製

#注意,

C()函數的裡面的值,是reasonAndType這個檔案的值。

var_dump($reasonAndTypeX);
登入後複製

就會輸入這個陣列的內容

array(
&#39;1&#39; => &#39;查询物流&#39;,
&#39;2&#39; => &#39;办理退货&#39;,
&#39;3&#39; => &#39;咨询退货&#39;,
&#39;4&#39; => &#39;咨询佣金&#39;,
&#39;5&#39; => &#39;咨询规则&#39;,
&#39;0&#39; => &#39;其他&#39;
);
登入後複製

這樣就完成了自定義設定檔的設定和載入。

如果'

REASON_AND_TYPE'沒有配置,則會傳回一個null值;

#當然,你也可以設定預設值,程式碼如下:

#

// 如果REASON_AND_TYPE尚未设置的话,则返回default_config字符串
C(&#39;my_config&#39;,null,&#39;default_config&#39;);
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

thinkPHP框架如何實作多表查詢

#關於thinkPHP框架動態配置的用法分析

#

以上是關於ThinkPHP3.2框架自訂配置和載入的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板