jarnix/laravel-auto-environment

自动检测和配置具有多个env文件的多个环境

1.0.6 2018-03-14 17:18 UTC

This package is not auto-updated.

Last update: 2024-09-29 05:08:15 UTC


README

通过主机名或http主机自动检测应用程序环境

支持多个环境和版本化的"env"文件。

从env文件、主机名或http主机检测应用程序环境。.env文件将始终覆盖其他文件(默认Laravel行为)

通过在bootstrap/app.php中添加以下代码使用此代码

\Jarnix\LaravelAutoEnvironment\Loader::init($app, [
    'envsFolder' => '/config',
    'hostLocalRegexp' => '/vagrantphp7',
    'urlLocalRegexp' => '/l\.webedev\.com/',
    'urlTestingRegexp' => '/test\.webedev.com/',
    'urlProductionRegexp' => '/www\.webedev.com/'
]);

将不同的配置文件放在应用的"/config"文件夹中,或另一个文件夹中(由'envsFolder'参数指定)

  • .env.local
  • .env.testing
  • .env.production

参数

您可以自定义这些参数

  • envsFolder: 放置.env文件的位置(local.env, production.env...)
  • hostnameLocalRegexp: 本地模式(cli)中主机名的正则表达式
  • urlLocalRegexp: 本地模式(http)中http主机的正则表达式
  • urlTestingRegexp: 测试模式(http)中http主机的正则表达式
  • urlProductionRegexp: 生产模式(http)中http主机的正则表达式

您可以在任何地方强制设置环境

您也可以通过在应用的根目录下创建一个名为"env"的文件来强制设置您想要的环境,该文件包含您想要加载的环境。

然后此代码将在"envsFolder"文件夹中加载您想要的"env"文件。例如:如果文件内容是"local" => 将加载文件:/config/.env.local

您仍然可以在artisan中强制设置环境

如果您还没有创建env文件,您仍然可以通过以下方式强制设置环境

php artisan --env=testing

或使用.env文件

您可以使用.env文件作为通常使用,这将会绕过此代码。