2014-02-06 35 views
1

我在app/config文件夹的define.yml中定义了一些值。
然后我可以在PHP代码中访问。
现在我想使用validate.yml文件来检查天气用户发出太多数据,我可以在配置文件中使用configed valus(例如%maxInputLength%),而不是在 验证中多写一次.yml?如何使用symfony2的私人配置文件中的全局配置值

一个例子: 我defind在define.yml一个变量:
maxLength: 10
因此,我们可以在控制器中使用它。

但是,如果我想使用它在validate.yml在自己的套件, 如:myBandle /配置/ validation.yml
现在我只用这样的文件:

myBundle\Entity\UserDesc: 
    properties: 
     content: 
      - NotBlank: ~ 
      - MaxLength: 10 

因此,似乎在两个地方定义了相同的值。实际上,第二个文件中的10就是第一个文件中定义的值。但我不知道如何从第一个文件中获得价值。有没有办法做到这一点?

+0

请澄清您的问题。发布代码相关的问题,你包括的文件和**期望的输出**的例子。它会帮助我们帮助你 – Touki

+0

非常抱歉,我附加了一些新的内容来说清楚。 – bixiaopeng

回答

0

AFAIK您希望将值设置为一个配置文件中的变量,然后在其他.yml配置文件中重用。

imports: 
    - { resource: variables.yml } 

那么你可以使用进口:

所以你不能在第二.yml配置文件,您可以用定义的变量导入文件中定义的如variables.yml文件中的一些瓦尔

parameters: 
    test_variable: "blabla" 

然后在此文件中可变:

property: 
    some_value: %test_variable% 
+0

是的,这相当适用于second.yml **不是**文件用于验证。但它似乎在validation.yml中,'imports:'不起作用。现在我使用validation.yml文件验证并在代码中自己解析它,而不是使用getParaments()。如果你有其他方法在app/config中的文件中设置配置,并在私有包的validation.yml中使用它,请教我。 – bixiaopeng

相关问题