2

假设您有以下三个 symfony2 配置文件(非常简化),其中 AppKernel 作为当前环境加载的文件是第一个,app/config/config_env.yml:

应用程序/config/config_env.yml:

imports:
    - { resource: config2.yml }
    - { resource: config3.yml }
parameters:
    param: one

应用程序/config/config2.yml:

imports:
    - { resource: config4.yml }
parameters:
    param: two

应用程序/config/config3.yml:

imports:
    - { resource: config5.yml }
parameters:
    param: three

应用程序/config/config4.yml:

parameters:
    param: four

应用程序/config/config5.yml:

parameters:
    param: five

每当我从代码中引用 param 时,您能帮我理解与 param 相关的值是什么(一、二、三、四或五),为什么?或者,换句话说,关于导入的 Symfony2 优先规则是什么?

谢谢,

罗德里戈

4

1 回答 1

0

让我们想想 symfony 在做什么。

首先,它加载 config_env.yml。

imports:
    - { resource: config2.yml }
    - { resource: config3.yml }
parameters:
    param: one

下一步:加载导入。

imports:
    - { resource: config4.yml }
parameters:
    param: two
imports:
    - { resource: config5.yml }
parameters:
    param: three
parameters:
    param: one

下一步:将它们结合起来

imports:
    - { resource: config4.yml }
    - { resource: config5.yml }
parameters:
    param: two
    param: three
    param: one

下一步:加载导入

parameters:
    param: four
parameters:
    param: five
parameters:
    param: two
    param: three
    param: one

下一步:将它们结合起来

parameters:
    param: four
    param: five
    param: two
    param: three
    param: one

现在重要的是要知道 symfony 会覆盖设置参数。那么答案是什么?最后参数是一。尝试一下。

于 2014-01-15T17:51:35.050 回答