如何访问自身内部的laravel .env变量

时间:2017-04-25 11:53:44

标签: php laravel

我需要问一些愚蠢的问题,但我的问题是访问它内部的.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

请我是新成员,请不要给我这个问题。

谢谢大家

5 个答案:

答案 0 :(得分:4)

没有办法做到这一点你只需要保持简单,在访问ENV变量时你可以轻松地执行以下操作:

环境档案:

APP_URL=http://localhost:8000
FACEBOOK_LOGIN_URL=/en/portal/facebook_login
FACEBOOK_CALLBACK_URL=/en/portal/facebook_callback
<\ n>在Laravel:

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

答案 1 :(得分:0)

您可以在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;

对于其他网址,我希望它能解决您的问题!

答案 2 :(得分:0)

你可以设置变量 像:

配置设置::(&#39; site.name&#39;&#39; www.example.co&#39)

答案 3 :(得分:0)

虽然其他答案对于使用.env中存储的变量是正确的。如果你做到以下几点,我认为它会更整洁:

url(env('FACEBOOK_LOGIN_URL'))

或:

url(env('FACEBOOK_CALLBACK_URL'))

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

答案 4 :(得分:0)

.env 文件中:

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