【问题标题】:How to load different configurations in the same file using different Configurations (ConfigurationInterface) in Symfony如何在 Symfony 中使用不同的配置(ConfigurationInterface)在同一个文件中加载不同的配置
【发布时间】:2018-08-03 13:42:06
【问题描述】:

我正在使用以下 Symfony 组件:

"require": {
    "symfony/dependency-injection": "~3.0",
    "symfony/yaml": "~3.0",
    "symfony/config": "~3.0",
    "symfony/console": "~3.0",
    "symfony/validator": "~3.0",
    "symfony/event-dispatcher": "~3.0",
    "guzzlehttp/guzzle": "~6.0",
    "gedex/janrain-api": "~0.1",
    "monolog/monolog": "~1.0"
},

我有一个forms.yamlservices.yaml。服务配置文件包含有关DependencyInjection 组件要加载的服务的信息。但是表单配置文件对我的Formsservice 有自定义定义(它使用自定义配置类。

我想知道是否可以将 servicesforms 合并为一个 config.yaml 并且仍然拥有 DependencyInjectionForms 获取它们的配置。

谢谢!

【问题讨论】:

    标签: symfony symfony-components symfony-config-component


    【解决方案1】:

    config.yaml 中定义的任何内容除了parameters,都需要由Extension 使用。

    Extension 接收属于它的配置部分(由getAlias 方法定义)。

    然后扩展程序可以调用Configurator,它将处理“众所周知”的配置,您可以添加默认值等。这将返回一个配置数组。

    然后你可以在容器中设置一个参数,拥有这个配置数组。 Extension接收的容器是一个空容器,然后与真实容器合并,接收参数。

    然后您可以添加CompilerPass 并使用这些参数将它们绑定到您的服务。

    【讨论】:

      猜你喜欢
      • 2013-12-19
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-12
      • 2013-09-10
      • 1970-01-01
      相关资源
      最近更新 更多