流明:使用来自其他文件夹的配置常量文件

时间:2017-03-24 07:18:07

标签: php laravel laravel-5 laravel-5.2 lumen

我在服务器上并行运行laravel和流明。 和结构就像

var/www/application/laravel
var/www/application/lumen

现在laravel应用程序已经为完整的网站开发。并且lumen文件夹用于webservices。现在config文件夹中有许多常量文件,例如config>messages.php,我希望重复使用这些文件而不在内腔中重写它们。但目前我只能看到我只能访问流明中的流明常数,无法访问laravel常量文件。

例如config('messages.status');只能在messages.php在流明中时访问值。

任何想法如何配置流明代码以包含laravel配置常量文件?

P.S。流明版本:5.4,laravel版本:5.2

感谢。

2 个答案:

答案 0 :(得分:1)

您可以通过制作新的配置文件并要求所有文件来加载Lumen中的所有Laravel应用配置:

/var/www/application/lumen/config/custom.php

<?php

$path = '../../laravel/app/config/';
$config = [];

foreach ( scandir($path) as $filename ) {
    $filePath = $path . '/' . $filename;

    if (is_file($filePath)) {
        $config += require_once $filePath;
    }
}

return $config;

然后你就可以像你的config('custom.key');一样在你的流明中访问它们。

答案 1 :(得分:0)

没错,有预定义的配置文件路径。看看vendor/laravel/lumen-framework/src/Application.php。那里有getConfigurationPath方法。

基本上,Lumen会尝试从你的配置文件夹加载配置文件,如果没有找到,那么将从/vendor/laravel/lumen-framework/config/*加载

我建议你对它们进行符号链接。因为我没有看到任何修改Lumen核心的方法(实际上,是的,你可以覆盖Application类并在bootstrap中实例化它,但是你应该处理它内部的__DIR__常量)。

<强>更新

也许这比较容易。看一下这个循环:Lumen: print custom config return NULL。那家伙正在使用$app->configure($file);方法在循环中加载每个配置文件。

实际上,这里看起来像TheFallen解决方案。