访问 Blade 中的 Laravel .env 变量

2022-08-30 07:11:36

我正在尝试获取一些存储在.env文件中的API密钥,以便在刀片javascript中使用。我添加了两个键,例如:

APP_ENV=local
APP_KEY=////
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
APP_GOOGLE_MAPS=////
APP_OVERHEID_IO=////

在 Blade 中,我需要使用 Google Maps API 和 OverheidIO API 密钥。我尝试获取一个默认的.env变量,以防万一我错误地格式化了自定义.env变量。

{{ env('APP.ENV') }} // nothing
{{ env('APP_ENV') }} // nothing
{{ env('APP_ENV'), 'test' }} // returns 'test' 

有人可以帮我在刀片中调用谷歌地图api和overheidio api密钥吗?


答案 1

如果您的Laravel在.env或数据库文件夹中进行了一些修改后或由于任何其他修改而无法按预期工作,则为五个最重要的命令。以下是完整的解释:https://www.youtube.com/watch?v=Q1ynDMC8UGg

php artisan config:clear
php artisan cache:clear
composer dump-autoload
php artisan view:clear
php artisan route:clear

答案 2

非常重要

所有 env() 如:调用生产中不起作用(当您使用时env('APP_ENV')php artisan config:cache)

使用什么?
- 仅在配置文件
中使用 env() - 使用 App::environment() 检查环境(在 .env 中APP_ENV)。
- 对所有其他 env 变量使用 config('app.var'),例如 config('app.debug')
- 为您自己的 ENV 变量创建自己的配置文件。示例:
在您的 .env 中:

MY_VALUE=foo

示例配置应用/myconfig.php

return [
    'myvalue' => env('MY_VALUE', 'bar'), // 'bar' is default if MY_VALUE is missing in .env
];

代码中的访问:

config('myconfig.myvalue') // will result in 'foo'

更多详情请看 这里


推荐