概述
在TP或者是别的程序的编程中,我们经常会用到配置文件来动态的控制程序的一些行为或表现。
在TP框架中,默认的配置文件是放在Conf目录下,并写作PHP数组的形式,如
<?php
return array(
//开启项目分组
//开启分组
'APP_GROUP_LIST' => 'Index,Admin',
// 默认分组
'DEFAULT_GROUP' => 'Index',
'APP_GROUP_MODE' => 1,
'APP_GROUP_PATH' => 'Modules',
//扩展配置项
'LOAD_EXT_CONFIG' => 'verify',
// 数据库连接参数
'DB_HOST' => '127.0.0.1',
'DB_USER' => 'root',
'DB_PSW' => '',
'DB_NAME' => 'blog',
'DB_PREFIX' => 'hd_',
);
?>
那么,我们是否可以利用PHP的文件读写函数,以及模板文件来在网页上动态设置配置文件的内容呢?答案是肯定的。
要动态设置配置文件内容,我们需要以下几点知识:
1、在模板中读取配置文件内容,可以使用方法{$Think.config.(配置文件条目名称,不区分大小写)}
2、一个路径字符串预定义变量CONF_PATH
3、TP中的文件读写函数F
有了以上几点知识,我们就可以网页中动态配置Config文件内容了。
首先,在模板文件里面,建立表单,并让表单的内容默认为当前配置文件设置的内容(通过Think.config函数)。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="__PUBLIC__/Css/public.css"/>
</head>
<body>
<form action="{:U(GROUP_NAME."/System/updataVerify")}" method="POST">
<table class="table">
<tr>
<th colspan='2'>验证码配置</th>
</tr>
<tr>
<td align="right">验证码长度</td>
<td><input type="text" name="VERIFY_LENGTH" value="{$Think.config.verify_length}"/></td>
</tr>
<tr>
<td align="right">验证码宽度</td>
<td><input type="text" name="VERIFY_WIDTH" value="{$Think.config.verify_width}"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="保存修改">
</td>
</tr>
</table>
</form>
</body>
</html>
<!--上面{$Think.config.verify_length},{$Think.config.verify_width} 分别读取config文件中的verify_length,verify_width字段-->
然后,在PHP的控制器处理表单函数中,读取POST过来的数据(是一个php数组,形式正好与配置文件相同,不过要确保表单中各项的name属性与配置文件条目名称相同)
public function updataVerify()
{
//写文件函数F(文件名,数据,文件路径)
// 在这里我们应用了路径变量字符CONF_PATH,它会自动定位到我们项目工程的Config文件夹目录下
if(F("verify", $_POST, CONF_PATH))
{
$this->success("修改成功", U(GROUP_NAME."/System/verify"));
}
else
{
$this->error("修改失败,请手动修改".CONF_PATH."verify.php文件");
}
}
通过F函数,我们就可以覆盖原文件中的内容,并且会返回布尔值,来表示是否覆盖成功。
这样,我们就通过网页的形式,动态的配置配置文件的内容了。
PS:如何添加自定义配置文件。
使用C函数和$Think.config函数获取配置文件中的项的内容,他们都会自动寻找在Config文件夹下的Config.php文件中的内容。若要想在自定义的配置文件中寻找,需要把自定义配置文件名称在Config.php文件中进行配置,并可以添加多个配置文件。配置项为:
//扩展配置项
'LOAD_EXT_CONFIG' => 'verify,wac',
配置项中添加了两个配置文件verify.php,wac.php,并将这两个文件放入到Config文件夹下面。这样,再调用C或者$Think.config函数时,就可以找到这两个配置文件中的条目了。
最后
以上就是高挑咖啡豆为你收集整理的ThinkPHP学习笔记(8)在网页中配置Config文件内容的全部内容,希望文章能够帮你解决ThinkPHP学习笔记(8)在网页中配置Config文件内容所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复