2017-03-24 71 views
1

我在服務器上並行運行laravel和lumen。 和結構就像Lumen:使用來自其他文件夾的配置常量文件

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

現在laravel應用程序是爲完全成熟的網站已經發展。流明文件夾正在用於Web服務。現在在config文件夾中有許多常量文件,如config>messages.php,我想重複使用這些文件,而不用在流明中重寫它。但目前我所能看到的只有流明常數才能訪問流明,無法訪問laravel常量文件。

config('messages.status');只能在messages.php爲流明時訪問值。

任何想法如何配置流明代碼以包括laravel配置常量文件呢?

p.s.流明版本:5.4,laravel版本:5.2

謝謝。

+0

您是否嘗試過將laravel配置文件製作成lumens文件夾的符號鏈接? – TheFallen

回答

1

您可以通過一個新的配置文件,並要求所有文件這樣的加載都在你的流明的Laravel應用的configs:

/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');訪問它們在你的流明。

0

沒錯,有配置文件的預定義路徑。看看vendor/laravel/lumen-framework/src/Application.php。那裏有一個getConfigurationPath的方法。

基本上流明將嘗試從 config文件夾加載配置文件,如果沒有找到,然後將/vendor/laravel/lumen-framework/config/*

加載我建議你符號連接它們。由於我沒有看到任何修改流明內核的方法(實際上,是的,你可以覆蓋Application類並在引導中實例化它,但是你應該注意類似__DIR__常量的東西)。

UPDATE

也許更容易。看看這個循環:Lumen: print custom config return NULL。該傢伙使用$app->configure($file);方法加載每個配置文件。

實際上,看起來像這裏的TheFallen解決方案。

相關問題