2017-03-24 7 views
1

サーバー上にlaravelとlumenを並列に実行しています。 と構造は今laravelアプリがすでに本格的なウェブサイトのために開発されルーメン:他のフォルダーの設定定数ファイルを使用する

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

のようなものです。ルーメンフォルダはWebサービスに使用されています。今度はconfig>messages.phpのようなconfigフォルダに多くの定数ファイルがあり、それらをルーメンに書き直さずに再利用したいと思います。しかし、現在私が見ることができるのは、ルーメン内のルーメン定数だけにアクセスでき、laravel定数ファイルにアクセスできないことです。

config('messages.status');などは、messages.phpがルーメン内にある場合にのみ値にアクセスできます。

laravel設定定数ファイルも含めてルーメンコードを設定するにはどうすればよいですか?

P.S.ルーメンバージョン:5.4、ラベールバージョン:5.2

ありがとう。

+0

laravel configのシンブルリンクをlumensフォルダに作成しようとしましたか? – TheFallen

答えて

1

新しい設定ファイルを作成し、このようなすべてのファイルを必要とすることによって、あなたのルーメン内のすべての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');ようなあなたのルーメンでそれらにアクセスすることができます。

0

そうです、設定ファイルのための事前定義されたパスがあります。 vendor/laravel/lumen-framework/src/Application.phpをご覧ください。そこにはgetConfigurationPathメソッドがあります。

基本的には、内腔があなた configフォルダから設定ファイルをロードしようとすると、何も見つからなかった場合、私はあなたがそれらをシンボリックリンク示唆/vendor/laravel/lumen-framework/config/*

からロードされます。 Lumenのコアを変更する方法はありません(実際には、そうです.Applicationクラスをオーバーライドしてブートストラップでインスタンス化できますが、内部には__DIR__定数などの処理が必要です)。

UPDATE

は、多分それは簡単です。このループを見てみましょう:Lumen: print custom config return NULL。男は、$app->configure($file);メソッドを使用してループ内のすべての設定ファイルをロードしています。

実際、TheFallenソリューションのように見えます。

関連する問題