【问题标题】:Silverstripe env variable value in config配置中的 Silverstripe 环境变量值
【发布时间】:2018-11-22 20:47:22
【问题描述】:

我试图弄清楚 SilverStripe 4.2 是否支持在 similar fashion Symfony does 的配置文件中引用环境变量。

到目前为止,我能够找到负责构建配置的类,doesn't seem to have this functionality

我想注入另一个层来解析 YAML 文件并处理环境引用,但由于没有可用的依赖注入容器,您似乎无法扩展服务?

是否有其他方法可以做到这一点?我要做的就是在 YAML 配置文件中使用环境变量。

【问题讨论】:

  • 您在寻找与environment management不同的东西
  • 啊,在发布后我得到了你想要的东西.. 不能说我已经看到了.. 在 silverstripe 3 iv 上,如果需要,用 config.php 覆盖配置设置
  • 你能描述一下你是怎么做到的吗? config.php 是最后加载的配置文件吗?

标签: silverstripe silverstripe-4


【解决方案1】:

您可以在 YAML 配置中使用环境变量,前提是它是用于 Injector 类的配置。您不能在 Injector 配置之外使用它们(从 4.2 开始)。

您可以将它们包装在反引号中,以便将它们解析为配置:

SilverStripe\Core\Injector\Injector:
  MyServiceClass:
    properties:
      MyProperty: '`ENV_VAR_HERE`'

【讨论】:

  • 正是这个。我一直使用它,因为我们在开发和生产过程中使用不同的变量。每次都编辑 yaml 文件会很烦人。
猜你喜欢
  • 2019-02-21
  • 2022-08-13
  • 2019-12-22
  • 1970-01-01
  • 2021-07-14
  • 2018-02-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多