【问题标题】:What is best way to create variable in environment file?在环境文件中创建变量的最佳方法是什么?
【发布时间】:2019-09-08 11:15:05
【问题描述】:

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

我试过了

SANDBOX_PAYPAL_CLIENT_ID=7I3D9
SANDBOX_PAYPAL_CLIENT_SECRET=S2E4C5R6E7T

我很困惑,在这里添加变量后,我只需要调用然后进入控制器,或者我需要在某个地方重新设置 ./config/ 目录?什么是最佳实践,有人可以指导我。我很感激。谢谢

【问题讨论】:

标签: php laravel laravel-5


【解决方案1】:

您应该将环境变量放在.env 文件中,但请确保仅在配置文件(/config 下的那些)中使用env() 调用来检索它们的值。

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

documentation 中也说明了这一点

【讨论】:

    【解决方案2】:

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

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

    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

    【讨论】:

      【解决方案3】:

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

      如何实现这取决于您。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-12
        • 1970-01-01
        • 2014-03-28
        • 2020-09-22
        • 2020-10-03
        • 1970-01-01
        • 1970-01-01
        • 2013-06-18
        相关资源
        最近更新 更多