我在服务器上并行运行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
感谢。
答案 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解决方案。