【问题标题】:How to access the laravel .env variables inside itself如何访问 laravel 内部的 .env 变量
【发布时间】:2017-09-22 10:12:48
【问题描述】:

我需要问一些愚蠢的问题,但我的问题是访问它内部的 .env 变量,而不是从 php :

如果我有 larvel5.4 的 .env 文件并且我有 APP_URL 像这样:

APP_ENV=local
APP_KEY=base64:7qLJMqTxrAPk+tLJscVlmrzf2H16tAfbSoCZuleCkxQ=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost

我有多个配置变量,像这样使用域链接:

#Facebook

FACEBOOK_LOGIN_URL=http://localhost:8000/en/portal/facebook_login
FACEBOOK_CALLBACK_URL=http://localhost:8000/en/portal/facebook_callback

#Twitter

TWITTER_LOGIN_URL=http://localhost:8000/en/portal/twitter_login
TWITTER_CALLBACK_URL=http://localhost:8000/en/portal/twitter_callback

#Google

GOOGLE_LOGIN_URL=http://localhost:8000/en/portal/google_login
GOOGLE_CALLBACK_URL=http://localhost:8000/en/portal/google_callback

有没有办法像这样访问同一文件中的 APP_URL:

FACEBOOK_LOGIN_URL= APP_URL /en/portal/facebook_login

请我是新成员不要给我这个问题的减号。

谢谢大家

【问题讨论】:

  • 我认为它和txt文件一样,所以没有什么动态的,你指定的都是静态的。
  • 我也这么认为,但是当您创建作曲家时,作曲家将其作为代码文件读取,例如没有空格或缺少变量.. 因为我想知道是否有办法处理这个文件.. 谢谢为您解答
  • 这个问题造成了很多不好的做法......

标签: php laravel


【解决方案1】:

您可以保持简单,在访问 ENV 变量时,您可以轻松地执行以下操作:

环境文件:

APP_URL=http://localhost:8000
FACEBOOK_LOGIN_URL=/en/portal/facebook_login
FACEBOOK_CALLBACK_URL=/en/portal/facebook_callback

在 Laravel 中:

env('APP_URL') . env('FACEBOOK_LOGIN_URL');

是的,如果需要,我们可以使用以下语法:

.env 文件:

APP_URL=http://localhost:8000
FACEBOOK_LOGIN_URL=${APP_URL}/en/portal/facebook_login
FACEBOOK_CALLBACK_URL=${APP_URL}/en/portal/facebook_callback

【讨论】:

  • 您可以使用 ${ENVIRONMENT_VARIABLE} 语法在 .env 文件中使用环境变量。 OP 说“没有办法”是不正确的。
【解决方案2】:

你可以在 app/config/constant.php 中定义常量

define('FACEBOOK_LOGIN_URL','http://localhost:8000/en/portal/facebook_login');
define('FACEBOOK_CALLBACK_URL','http://localhost:8000/en/portal/facebook_callback');

echo FACEBOOK_LOGIN_URL;

其他的网址等等,希望能解决你的问题!

【讨论】:

  • 感谢您的回答,它在 .env 文件之外,但我需要在 .env 文件中使用它
【解决方案3】:

虽然其他关于使用存储在.env 中的变量的答案是正确的。如果您执行以下操作,我认为它会更整洁:

url(env('FACEBOOK_LOGIN_URL'))

或:

url(env('FACEBOOK_CALLBACK_URL'))

url() 使用 APP_URL,因此您无需连接您的 .env 变量。

【讨论】:

    【解决方案4】:

    .env 文件中:

    APP_URL=http://localhost:8000
    FACEBOOK_LOGIN_URL="${APP_URL}/en/portal/facebook_login"
    

    【讨论】:

      猜你喜欢
      • 2019-01-29
      • 2016-06-11
      • 2017-08-19
      • 2018-11-20
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 2022-08-04
      • 2015-04-06
      相关资源
      最近更新 更多