首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 4软件包的单独配置文件

Laravel 4软件包的单独配置文件
EN

Stack Overflow用户
提问于 2014-09-17 09:08:09
回答 1查看 888关注 0票数 0

我的laravel 4项目设置了多个环境。

环境设置是:开发称为“开发”,生产称为“生产”。在app/config文件夹中,我有两个额外的文件夹。每个环境名称都有一个。

见截图:

在这些文件夹中,我为database.php和app.php提供了单独的配置文件。这些都如预期的那样起作用。Laravel在本地运行时使用我的本地数据库配置,在运行时使用生产。

现在,我添加了一个新的包,它需要一个配置文件。它驻留在/app/config/packages/greggilbert/config.php中。

我需要能够像对数据库一样设置不同的配置文件。因此,我假设在/development/production中创建相同的文件结构是可行的,但情况似乎并非如此。

下面是一个新的截图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-17 10:07:05

与包相关的、特定于环境的配置文件必须放在以环境命名的子目录中的包目录中。所以在你的情况下

代码语言:javascript
复制
app
   - config
      - packages
         - greggilbert
            - recaptcha
               - development
                  - config.php
               - production
                  - config.php

但在某些情况下,它会变得非常丑陋和繁琐。这可以通过应用程序根目录中的环境文件 (在我看来)更简洁、更优雅的方式解决:

/.env.development.php

代码语言:javascript
复制
<?php
return [

    // any configuration settings for your local environment

    'RECAPTCHA_TEMPLATE' => 'customCaptcha',
    'RECAPTCHA_LANGUAGE' => 'en',

];

这样,您可以将包目录保持原样:

代码语言:javascript
复制
app
   - config
      - packages
         - greggilbert
            - recaptcha
               - config.php

Laravel将根据环境加载环境文件,并通过getenv()使环境变量全局可用。因此,现在您只需从getenv('RECAPTCHA_TEMPLATE')中获取当前环境的指定模板。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25886448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档