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 学习资料零碎东西
Dec 04 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
Jun 21 PHP
php修改上传图片尺寸的方法
Apr 14 PHP
Smarty分页实现方法完整实例
May 11 PHP
php微信公众号开发(2)百度BAE搭建和数据库使用
Dec 15 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
Feb 18 PHP
PHP中类的自动加载的方法
Mar 17 PHP
PHP查询分页的实现代码
Jun 09 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
PHP使用两个栈实现队列功能的方法
Jan 15 PHP
phpQuery采集网页实现代码实例
Apr 02 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
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
用js进行url编码后用php反解以及用php实现js的escape功能函数总结
2010/02/08 PHP
国产PHP开发框架myqee新手快速入门教程
2014/07/14 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
js获取客户端操作系统类型的方法【测试可用】
2016/05/27 Javascript
JS判断form内所有表单是否为空的简单实例
2016/09/09 Javascript
微信小程序 图片上传实例详解
2017/05/05 Javascript
JS验证输入的是否是数字及保留几位小数问题
2018/05/09 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
JavaScript 性能提升之路(推荐)
2019/04/10 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
Python字符串特性及常用字符串方法的简单笔记
2016/01/04 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
python3.6使用tkinter实现弹跳小球游戏
2019/05/09 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
Python2与Python3的区别点整理
2019/12/12 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
美国著名首饰网站:BaubleBar
2016/08/29 全球购物
美国顶级防滑鞋:Shoes For Crews
2017/03/27 全球购物
美国社交购物市场:MassGenie
2019/02/18 全球购物
计算机软件个人的自荐信范文
2013/12/01 职场文书
医院见习报告范文
2014/11/03 职场文书
丧事答谢词
2015/01/05 职场文书
离婚协议书格式
2015/01/26 职场文书
财务经理岗位职责
2015/01/31 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
教师网络培训心得体会
2016/01/09 职场文书
2016年习主席讲话学习心得体会
2016/01/20 职场文书