tp5 的 application\extra 扩展配置的详细使用方式(thinkphp5)

ThinkPHP5 版本开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置,这极大的方便了我们进行扩展配置。

例如:我们再 application/extra 目录下面创建一个 basic_info.php 文件,内容如下:

<?php
/**
 * 网站基本信息文件.
 * 由Extra_Config函数建立.
 * 2020/12/05 19:58:05
 */
return [
	'WEB_TITLE' => 'XXX管理系统',
	'WEB_KEYWORD' => '关键字',
	'WEB_COPYRIGHT' => '版权信息',
	'WEB_DESCRIPTION' => '网站描述',
];
?>

获取信息的方法

// 在控制器中使用:
\think\Config::get('basic_info.WEB_TITLE');
Config::get('basic_info.WEB_TITLE');
Config('basic_info.WEB_TITLE');
// 模板里面使用:
{$Think.config.WEB_TITLE}

可以创建一个专门的控制器来管理这个配置文件,例如:

	/**
	 * 修改扩展配置文件
	 * @param array  $arr  需要更新或添加的配置
	 * @param string $file 配置文件名(不需要后辍)
	 * @param string $note 文件备注的名称
	 * @return bool
	 */
	private function Extra_Config($arr = [], $file = 'null', $note = 'null')
	{
		if (is_array($arr)) {
			$filename = $file . EXT;
	 
			$filepath = APP_PATH . 'extra/' . $filename;
			if (!file_exists($filepath)) {
				$conf = "<?php return [];";
				file_put_contents($filepath, $conf);
			}
	 
			$conf = include $filepath;
			foreach ($arr as $key => $value) {
				$conf[$key] = $value;
			}
	 
			$time = date('Y/m/d H:i:s');
			$str = "<?php\r\n/**\r\n * $note.\r\n * 由Extra_Config函数建立.\r\n * $time\r\n */\r\nreturn [\r\n";
			foreach ($conf as $key => $value) {
				$str .= "\t'$key' => '$value',";
				$str .= "\r\n";
			}
			$str .= '];';
	 
			file_put_contents($filepath, $str);
			
			return true;
		} else {
			return false;
		}
	}

注意:如果出现获取不到数据的情况下,请看我的这篇文章:点击跳转

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值