【问题标题】:Dynamically Import Resources into Config.yml in Symfony2在 Symfony2 中将资源动态导入到 Config.yml
【发布时间】:2012-05-01 20:40:37
【问题描述】:

下面是来自 Symfony2 中 config.yml 的一个非常标准的代码块。我想根据外部参数动态加载不同的parameter.ini(在我的情况下,我从服务器环境变量SYMFONY__SERVER__VARIABLE 中获取它)。我唯一的问题似乎是 Sf2 不会接受参数..

例如,这行得通。但下面没有。

imports:
    - { resource: parameters.ini }
    - { resource: security.yml }
framework:
    router:          { resource: "%kernel.root_dir%/config/routing.yml" }

下面的例子没有。在我看来,这两个示例似乎会产生相同的结果,因为 routing.ymlparameters.ini 在同一个目录中。

imports:
    - { resource: "%kernel.root_dir%/config/parameters.ini" }
    - { resource: security.yml }
framework:
    router:          { resource: "%kernel.root_dir%/config/routing.yml" }

我查看上述示例的原因是因为我知道%kernel.root_dir%config.yml 的其他领域也很有效。它告诉我除了我正在做什么之外还有其他事情,所以这段代码不起作用。

最终,这就是我想做的。

imports:
        - { resource: "%server.variable%-parameters.ini" }

【问题讨论】:

    标签: php frameworks dependency-injection symfony


    【解决方案1】:

    我认为你正在尝试做我正在做的事情。虽然我没有直接回答您的问题(如何在导入指令中使用参数),但我认为它解决了您的问题(加载特定于服务器的配置)

    Symfony 2 - multiple server configuration

    【讨论】:

    • 所以你的意思是在我们的例子中你可以多次运行 load 方法,执行 $loader->load( $serverConfig ); 来执行你的 server/environment-specific-config.yml 以及特定的 parameters.ini .. 然后您可以加载传统的$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml'); .. 我还不是 100%,但这对我来说似乎是一个解决方案!谢谢!
    • 甚至不能等到明天来测试它!真正快速和干净的解决方案!谢谢彼得。
    • 很高兴它的工作原理仅供参考,我发现我需要更改 YAML 文件的加载顺序。我现在要去更新我引用的问题。
    猜你喜欢
    • 1970-01-01
    • 2013-12-22
    • 2023-03-21
    • 2012-04-30
    • 2013-01-10
    • 1970-01-01
    • 2021-09-25
    • 1970-01-01
    • 2014-07-26
    相关资源
    最近更新 更多