ThinkPHP5扩展配置目录extra中自定义配置文件

ThinkPHP5.0.1版本开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置。

ThinkPHP5.0.1版本开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置。

这极大的方便了我们进行扩展配置,比如在application/extra目录下面创建一个web.php文件,内容如下:

<?php
// +----------------------------------------------------------------------
// | 网站扩展配置文件
// | Author: ECHO陈文
// | Time: 2020-11-16
// +----------------------------------------------------------------------
return [
    'WEB_NAME' => '芦苇派',
    'WEB_HOST' => 'https://www.luweipai.cn',
];

这样我们很就可以方便的获取这些扩展配置信息。

在控制器中获取网站名称:

Config::get('web.WEB_NAME');

在模板中获取网站名称:

{$Think.config.third.WEB_NAME}

我们还可以创建一个专门的控制器来管理这个配置文件,示例具体如下:

function add()
{
    if (request()->isPost()) {
        $path = 'extra/web.php';
        $file = (include $path);
        $config = array(
            'WEB_COPYRIGHT' => input('WEB_COPYRIGHT')
        );
        $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('添加失败');
        }
    }
}

原创文章,作者:ECHO陈文,如若转载,请注明出处:https://www.luweipai.cn/php/1605535520/

  • 0