在刀片中访问 Laravel .env 变量

新手上路,请多包涵

我正在尝试获取一些存储在 .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=////

在刀片中,我需要使用 Google Maps API 和 OverheidIO API 密钥。我尝试获取默认的 .env 变量之一,以防我将自定义 .env 变量格式化错误。:

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

有人可以帮我调用刀片中的 google maps api 和 overheidio api 密钥吗?

原文由 Anna Jeanine 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 394
2 个回答

如果您的 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

原文由 Abhay Maurya 发布,翻译遵循 CC BY-SA 4.0 许可协议

切勿在代码中的任何地方使用 env() 除了内部 config/*.php

使用 config() 访问刀片文件/控制器中的默认/自定义变量。

例如

config('app.name')

config('app.env')

其中 appconfig 目录中的文件名。您可以使用 config 目录中的任何文件名来访问其中的变量。

尽管其他人的答案是正确的,但我发现很难理解,所以最后阅读了 配置 页面的整个文档。

来自文档的重要评论。

Once the configuration has been cached, the .env file will not be loaded; therefore, the env function will only return external, system level environment variables.

原文由 Gopal Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题