首页 > 开发 > PHP > 正文

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

2024-05-04 22:42:51
字体:
来源:转载
供稿:网友

本文实例讲述了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' => '其他'));            
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表