ThinkPHP3.2框架自定义配置和加载用法示例


Posted in PHP onJune 14, 2018

本文实例讲述了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>

ThinkPHP3.2框架自定义配置和加载用法示例←实际效果

ThinkPHP3.2框架自定义配置和加载用法示例←数据库存的效果

ThinkPHP3.2框架自定义配置和加载用法示例←显示的时候。

这个例子里,实际显示的是汉字,实际的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');

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php结合飞信 免费天气预报短信
May 07 PHP
在PHP中养成7个面向对象的好习惯
Jan 28 PHP
php利用cookie实现访问次数统计代码
May 19 PHP
批量获取memcache值并按key的顺序返回的实现代码
Jun 14 PHP
PHP句法规则详解 入门学习
Nov 09 PHP
第四章 php数学运算
Dec 30 PHP
分享一个PHP数据流应用的简单例子
Jun 01 PHP
PHP数据类型之布尔型的介绍
Apr 28 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
PHP常用函数之格式化时间操作示例
Oct 21 PHP
PHP isset()及empty()用法区别详解
Aug 29 PHP
thinkPHP框架实现多表查询的方法
Jun 14 #PHP
php微信开发之关注事件
Jun 14 #PHP
thinkPHP框架动态配置用法实例分析
Jun 14 #PHP
php微信开发之谷歌测距
Jun 14 #PHP
php微信开发之图片回复功能
Jun 14 #PHP
php微信开发之音乐回复功能
Jun 14 #PHP
php微信开发之关键词回复功能
Jun 13 #PHP
You might like
Http 1.1 Etag 与 Last-Modified提高php效率
2008/01/10 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
深入理解PHP中的global
2014/08/19 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
JavaScript 的继承
2011/10/01 Javascript
JQuery-tableDnD 拖拽的基本使用介绍
2013/07/04 Javascript
JQuery操作iframe父页面与子页面的元素与方法(实例讲解)
2013/11/20 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
2014/12/13 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
深入理解JavaScript中的浮点数
2016/05/18 Javascript
jQuery checkbox选中问题之prop与attr注意点分析
2016/11/15 Javascript
解析利用javascript如何判断一个数为素数
2016/12/08 Javascript
jQuery 表单序列化实例代码
2017/06/11 jQuery
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
关于Vue源码vm.$watch()内部原理详解
2019/04/26 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
轻松掌握python设计模式之访问者模式
2016/11/18 Python
python3调用R的示例代码
2018/02/23 Python
Python实现字符串中某个字母的替代功能
2019/10/21 Python
解决python 在for循环并且pop数组的时候会跳过某些元素的问题
2020/12/11 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
美国球鞋寄卖网站:Stadium Goods
2018/05/09 全球购物
空指针到底是什么
2012/08/07 面试题
设计师求职信模板
2014/05/06 职场文书
学校个人对照检查材料
2014/08/26 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
毕业设计致谢语
2015/05/14 职场文书
晚会主持人开场白台词
2015/05/28 职场文书
论文评审意见
2015/06/05 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
你真的了解PHP中的引用符号(&)吗
2021/05/12 PHP
Python机器学习应用之基于线性判别模型的分类篇详解
2022/01/18 Python