我的laravel 4项目设置了多个环境。
环境设置是:开发称为“开发”,生产称为“生产”。在app/config文件夹中,我有两个额外的文件夹。每个环境名称都有一个。
见截图:

在这些文件夹中,我为database.php和app.php提供了单独的配置文件。这些都如预期的那样起作用。Laravel在本地运行时使用我的本地数据库配置,在运行时使用生产。
现在,我添加了一个新的包,它需要一个配置文件。它驻留在/app/config/packages/greggilbert/config.php中。
我需要能够像对数据库一样设置不同的配置文件。因此,我假设在/development或/production中创建相同的文件结构是可行的,但情况似乎并非如此。
下面是一个新的截图:

发布于 2014-09-17 10:07:05
与包相关的、特定于环境的配置文件必须放在以环境命名的子目录中的包目录中。所以在你的情况下
app
- config
- packages
- greggilbert
- recaptcha
- development
- config.php
- production
- config.php但在某些情况下,它会变得非常丑陋和繁琐。这可以通过应用程序根目录中的环境文件 (在我看来)更简洁、更优雅的方式解决:
/.env.development.php
<?php
return [
// any configuration settings for your local environment
'RECAPTCHA_TEMPLATE' => 'customCaptcha',
'RECAPTCHA_LANGUAGE' => 'en',
];这样,您可以将包目录保持原样:
app
- config
- packages
- greggilbert
- recaptcha
- config.phpLaravel将根据环境加载环境文件,并通过getenv()使环境变量全局可用。因此,现在您只需从getenv('RECAPTCHA_TEMPLATE')中获取当前环境的指定模板。
https://stackoverflow.com/questions/25886448
复制相似问题