如何在 Laravel 5.8 的 Artisan 命令中使用 ENV 变量?

Don*_*n40 2 environment-variables laravel laravel-5

我正在创建我自己的工匠命令,我想使用 ENV 变量,但是当我使用时,$_ENV['VariableName']我得到并出错。

local.ERROR: Undefined index: VariableName

相同的代码在控制器和错误中完美运行,因为没有生成此代码。

我正在创建我的命令 php artisan make:command CommandName

我如何开始在那里使用 ENV 变量?谢谢!我想在内部的私有函数中使用变量:

class CommandName extends Command 但在外面 public function handle()

Mor*_*mid 5

您可以使用 Laravel Helper 访问环境变量,如下所示:

env('VariableName')

如果未设置环境变量,您还可以指定默认值

env('VariableName', 'myName')

Laravel 文档 5.8 助手


nak*_*kov 5

由于.env文件不会推送到存储库,因此最好的方法是使用配置文件。因此,在config目录中,创建您的自定义文件,例如:custom.php具有以下内容:

<?php

return [
   'variable' => env('VARIABLE_NAME', 'DEFAULT_VALUE')
];
Run Code Online (Sandbox Code Playgroud)

在你的.env你应该放:

VARIABLE_NAME=something
Run Code Online (Sandbox Code Playgroud)

然后使用它你使用 config('custom.variable');