如何优雅的使 Lumen 的配置文件为 Laravel 风格?

Lumen 配置文件使用的是 .env, 虽然可以使用根目录下的 config文件夹下的配置文件,但先需要在bootstrap/app.php

$app->configure('xx');

否则 Config::get('xx.yy')(已开启Config的Facade) 取不到值。
那么有什么比较优雅的方式可以自动载入config文件夹下的文件?
目前只想到遍历config文件夹下php文件再 $app->configure('xx');

use Symfony\Component\Finder\Finder;
class_alias('Illuminate\Support\Facades\Config', 'Config');
foreach (Finder::create()->files()->name('*.php')->in($app->basePath('config')) as $file)
{
    $filename = trim($file->getFileName(), '.php');
    if(!empty($filename)){
        $app->configure($filename);
    }
}
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

foreach (glob(__DIR__ . '/../config/*.php') as $path) {
if ($path) {
$pathInfo = pathinfo(basename($path));
$app->make('config')->set($pathInfo['filename'], require realpath($path));
}
}

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!