在环境文件中创建变量的最佳方法是什么?

时间:2019-04-18 06:53:01

标签: php laravel laravel-5

在laravel中,我需要在env文件中创建变量。根据文档和一些相关的线程(在谷歌搜索后得到),我需要在.env文件中添加变量

我尝试关注

SANDBOX_PAYPAL_CLIENT_ID=7I3D9
SANDBOX_PAYPAL_CLIENT_SECRET=S2E4C5R6E7T

我很困惑,在这里添加变量后,我只需要调用然后进入控制器,还是需要在./config/目录中的某个地方再次设置?什么是最佳做法,有人可以指导我吗?我很感激。谢谢

3 个答案:

答案 0 :(得分:2)

您应将env变量放在.env文件中,但请确保仅在配置文件(env()下的调用)中使用/config调用来获取其值。

请记住,如果您缓存配置(php artisan config:cache,则任何env()都将返回null,因为Laravel将不再加载.env文件。

documentation

中也有说明

答案 1 :(得分:1)

您可以使用env()帮助函数来获取.env变量。 大多数软件包在其conf文件中获取这些值以对配置进行分组。 然后,您可以使用config()辅助函数来获取值。

无论如何实施,这取决于您。

答案 2 :(得分:-1)

这取决于您要如何使用它们。也许创建一个名称为ConfigVariables.php的文件,在那里声明env的所有变量。

1)您可以将它们全部放在一个位置。将所有env变量集中控制在一个地方。

2)注意进行空检查等,如果配置未退出,请传递一些默认值

3)这将帮助您为所有人使用一种标准

4)如果直接在代码中使用env,则必须检查并注意空值(以防配置中没有变量)

只需在此处添加一个点,如果不使用""

,带空格的字符串可能会成为问题。

您可以对其进行测试:

Email_Sender_Name=Danyal Sandeelo
echo it as: echo env("Email_Sender_Name");

Email_Sender_Name="Danyal Sandeelo"
echo it as: echo env("Email_Sender_Name");

您可以阅读以下内容:Laravel 5.2 not reading env file