如何优雅的使 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);
    }
}
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 1

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

8年前 评论

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