在使用ThinkPHP5的时候有些数据没必要专门的创建数据库保存,比如网站名称、备案号等信息,那么我们可以通过创建自定义配置文件的方式解决,具体方法如下:

1.创建extra自定义配置文件

在application/extra文件夹中新增一个web.php文件,在里面写好自定义配置项:


<?php
// +----------------------------------------------------------------------
// | 自定义配置文件
// +----------------------------------------------------------------------
return [
    'WEB_NAME' => '零五科技',
    'WEB_URL' => 'http://www.codesou.cn/',
    'WEB_BEIAN' => '辽ICP备13002105号-1',
]; 

2.创建自定义配置文件控制器

新建一个控制器,比如application/admin/controller/Config.php:


<?php
namespace appindexcontroller;
use thinkController;
class Config extends Controller
{
    public function index()
    {
        return view();
    }
    public function add()
    {
        $path = 'application/extra/web.php';
        $file = (include $path);
        $config = array(
            'WEB_DESCRIPTION' => input('WEB_DESCRIPTION')
        );
        $res = array_merge($file, $config);
        $str = '<?php return [';
        foreach ($res as $key => $value) {
            $str .= ''' . $key . ''' . '=>' . ''' . $value . ''' . ',';
        }
        $str .= ']; ';
        if (file_put_contents($path, $str)) {
            $this->success('添加成功');
        } else {
            $this->error('添加失败');
        }
    }
}

其中WEB_DESCRIPTION就是你要添加的数据,最好是大写格式。

3.调用自定义配置信息:


<input type="text" name="WEB_DESCRIPTION" value="{:config('web.WEB_DESCRIPTION')}" placeholder="请输入内容">

模板调用数据是{:config(‘web.WEB_NAME’)}

控制器调用数据是config(‘web.WEB_NAME’)