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

时间:2019-04-02 08:30:42

标签: laravel laravel-5 environment-variables

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

local.ERROR: Undefined index: VariableName

同一代码可以完美地在控制器中运行,并且由于未生成此错误而导致错误。

我正在使用php artisan make:command CommandName

创建命令

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

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

2 个答案:

答案 0 :(得分:3)

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

env('VariableName')

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

env('VariableName', 'myName')

Laravel Docs 5.8 Helpers

答案 1 :(得分:3)

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

<?php

return [
   'variable' => env('VARIABLE_NAME', 'DEFAULT_VALUE')
];

,然后在您的.env中输入:

VARIABLE_NAME=something

然后使用它就可以使用config('custom.variable');