ThinkPHP学习笔记(8)在网页中配置Config文件内容

在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函数时,就可以找到这两个配置文件中的条目了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值