【问题标题】:laravel / lumen access .env values in middlewarelaravel / lumen 访问中间件中的 .env 值
【发布时间】:2016-08-03 11:49:03
【问题描述】:

有什么方法可以从中间件脚本内部访问 .env vals?

我曾尝试通过 env('KEY') 这样做,但这似乎大多数时候都返回 null。

有没有人知道在中间件内部执行此操作的更好方法或确保在中间件运行之前已加载 .env 文件的方法?

【问题讨论】:

  • 我的运行良好。你如何在你的中间件中调用envenv文件设置正确了吗?

标签: php laravel lumen


【解决方案1】:

您可以使用config() 访问.env 变量。例如,如果你想获取 MySQL 端口,使用这个:

$mysqlPort = config()['database']['connections']['mysql']['port'];

要获取所有可用变量,您可以执行dd(config());

如果您想在.env 中使用自定义变量,您也可以这样做:

CUSTOM=hello

要获取此变量,请使用env() helper:

echo env('CUSTOM'); // Will output 'hello'

【讨论】:

  • 感谢 Alexey,但这实际上不起作用。返回的内容不包含我的任何自定义变量。
  • 您想将自定义变量放在.env 中,然后在您的应用代码中获取它吗?请查看更新的答案。
  • 是的,这有效,但不适用于中间件。大约 90% 的时间它将在中间件内部为空形式。
  • 是否有类似于 app()->environment() 的东西来拉取其他 .env 值?
  • getenv('CUSTOM') 在中间件中工作吗?另外,也许在config direcotry 中创建自定义配置文件并使用它是一种选择?
猜你喜欢
  • 2017-05-17
  • 1970-01-01
  • 2019-05-11
  • 2015-07-08
  • 2020-02-04
  • 1970-01-01
  • 2023-02-26
  • 2019-12-03
  • 2020-02-11
相关资源
最近更新 更多