ThinkPHP3.2自定义配置和加载
来源:互联网 发布:冒泡排序算法的功能 编辑:程序博客网 时间:2024/06/05 18:11
有时候我们会有一些规则定义每个数字对应的实际内容,比如说在下拉菜单的时候:
<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 = array('1' => '查询物流','2' => '办理退货','3' => '咨询退货','4' => '咨询佣金','5' => '咨询规则','0' => '其他');
type.php
就像上面代码那样,定义好之后,存成一个文件,当我们需要调用这个这个规则的时候,就include或者require,然后直接用$type这个变量去找就行了,比如:
require_on
ce ('type.php');echo $type[1]; //输出'查询物流'
foreach($type as $k => $v){ //直接打印出最上面的下拉菜单代码,
echo "<option value = '{$k}' >{$v}</option>";
}
还有一种实现方式,也是我在这里推荐的,就是直接把这套规则定义为这个网站的配置文件,当我们用的时候,用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', //这是我们自己添加的,键名固定,键值是你的php文件的文件名);
下面讲调用这套规则:
$reasonAndTypeX = C('REASON_AND_TYPE'); //C()函数能加载配置里的键名所代表的值,赋给变量
注意,C()函数的里面的值,是reasonAndType这个文件的值。
这样就完成了自定义配置文件的设置和加载。
如果有说的不好的地方可以给我留言,直接指出来,一起进步哦。
var_dump($reasonAndTypeX);
就会输入这个数组的内容
array(
array(
'1'=> '查询物流',
'2'=> '办理退货',
'3'=> '咨询退货',
'4'=> '咨询佣金',
'5'=> '咨询规则',
'0'=> '其他'
);
这样就完成了自定义配置文件的设置和加载。
如果有说的不好的地方可以给我留言,直接指出来,一起进步哦。
喜欢就关注“奥古斯宏”
阅读全文
0 0
- ThinkPHP3.2自定义配置和加载
- thinkphp3.2【自动加载】
- thinkphp3.2自定义常量
- ThinkPHP3.2无法加载控制器
- ThinkPHP3.2加载TabLib异常
- thinkphp3.2加载模块错误
- thinkphp3.2源码 ----- 自动加载
- ThinkPhp3.2无法加载控制器
- thinkphp3.2自定义常量数组
- Thinkphp3.2分页自定义样式
- PHPmailer成功配置ThinkPHP3.2
- (php)thinkphp3.2配置sql_server
- thinkPHP3.2.3实现自定义类的自动加载
- ThinkPhp3.2 无法加载模块:Index
- ThinkPHP3.2里面自定义函数库路径
- thinkphp3.2 自定义方法返回数组,处理
- 关于对thinkphp3.2自定义插件钩子的理解和演示
- 应用程序配置和动态加载7----自定义应用程序配置
- ZOJ--1648:Circuit Board(跨立实验线段判交)
- 谈谈我对服务熔断、服务降级的理解
- WEB前端学习笔记-HTML(上)
- ARTIK 530 use Eclipse IDE for Windows
- 什么是代理服务器?其原理和常见的代理服务器
- ThinkPHP3.2自定义配置和加载
- 【Leetcode】207. Course Schedule
- 浅谈caffe中train_val.prototxt和deploy.prototxt文件的区别
- 不能运行junit
- 【程序】STM32L476RG实现在STOP2模式下使用LPTIM,5秒钟从STOP2唤醒
- 移动工作站和便携游戏本的区别
- 《Distributed Representations of Words and Phrases and their Compositionality》笔记
- 20170619link
- STM32之独立看门狗的那些事