2014-02-06 77 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

相關問題