美文网首页
Laravel-config目录中配置文件的加载顺序修改

Laravel-config目录中配置文件的加载顺序修改

作者: 未来纪元 | 来源:发表于2017-11-10 09:23 被阅读0次

    问题描述:若在config目录下添加config_dev.php , config_test.php , config_pro.php 那么在config目录下使用config()调用前面的三个文件的内容时由于加载顺序的问题可能会导致先加载的问价无法读取后加载的文件的内容

    解决方案:在Illuminate\Foundation\Bootstrap\LoadConfiguration.php文件中的getConfigurationFiles()方法中修改配置文件的加载顺序

    代码如下:

    protected functiongetConfigurationFiles(Application$app)

    {

    $files= [];

    $configPath= realpath($app->configPath());

    foreach(Finder::create()->files()->name('*.php')->in($configPath)as$file) {

    $nesting=$this->getConfigurationNesting($file,$configPath);

    //修改文件加载的顺序,原来的顺序有点问题

    $basename= basename($file->getRealPath(),'.php');

    if(in_array($basename,['config_dev','config_test','config_pro'])){

    $files[0][$nesting.basename($file->getRealPath(),'.php')] =$file->getRealPath();

    }else{

    $files[1][$nesting.basename($file->getRealPath(),'.php')] =$file->getRealPath();

    }

    //原代码sss

    //            $files[$nesting.basename($file->getRealPath(), '.php')] = $file->getRealPath()s;

    }

    $files= array_merge($files[0],$files[1]);

    return$files;

    }

    相关文章

      网友评论

          本文标题:Laravel-config目录中配置文件的加载顺序修改

          本文链接:https://www.haomeiwen.com/subject/ivwvmxtx.html