tp5中的app目录中的extra目录的作用是什么?
了解extra目录的作用
ThinkPHP5扩展配置目录extra中自定义配置文件的管理方法
ThinkPHP5.0.1版本开始增加了扩展配置目录的概念,在应用配置目录或者模块配置目录下面增加extra子目录,下面的配置文件都会自动加载,无需任何配置。
这极大的方便了我们进行扩展配置,比如在application/extra目录下面创建一个web.php文件,内容如下:
<?php
// +----------------------------------------------------------------------
// | 网站扩展配置文件
// | Author: www.02405.com
// +----------------------------------------------------------------------
return [
'WEB_NAME' => '零五科技',
'WEB_HOST' => 'http://www.02405.com',
'WEB_BEIAN' => '辽ICP备13002105号-1',
];
这样我们很就可以方便的获取这些扩展配置信息。
在控制器中获取网站名称:
Config::get('web.WEB_NAME');
在模板中获取网站备案号:
{$Think.config.third.WEB_BEIAN}
我们还可以创建一个专门的控制器来管理这个配置文件,示例具体如下:
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('添加失败');
}
}
}
修改的话思路相同,先读取所有配置,然后循环输出到表单,在根据提交循环写入更新。