2017-05-16 96 views
0

我如何創建和使用symfony中的鍵/值自己的全局配置? 我試圖設置parameters.yml下的parameters線,它在安裝後已經在這個文件中,並得到它像$pageTitle = $this->getParameter('myKey');和它的工作原理,但我想要自己整個配置文件的結構爲前。 $this->getParameter('myParameters.myKey')這樣:Symfony 3擁有全局配置文件

我創建新的文件:

#app/config/myConfig.yml 

myParameters: 
    myKey: myValue 

在config.yml我說:

#app/config/config.yml 

imports: 
    - { resource: myConfig.yml } 

和控制器:

$pageTitle = $this->getParameter('myKey'); 

,我有例外:

FileLoaderLoadException在FileLoader.php行118:沒有擴展能夠加載配置 「inyconfig」(中....

編輯


這個例子工作,但你必須做一個小變化 - myParameters更改爲parameters,一切都像魅力一樣工作。

+0

給我一些反饋 – Timan

回答

1

你要做的依賴注入例如您的綁定BundleNameDependencieInjection相關,然後創建的配置類,提供配置外部依賴和/或外部配置

看一看有http://symfony.com/doc/current/bundles/configuration.html#processing-the-configs-array

在參數,你可以創建一些標量或數組變量,可以在某些情況下被稱爲你的情況,你可能會創建一些範圍這樣的一個數組:

parameters: 
# scalar 
    one.two.three: something 
# array 
    oneBis: 
     twoBis: 
     threeBis: somethingBis 
+0

是的,我需要你的(或我的)代碼示例中的解決方案,但在單獨的文件中,但只有一個變化 - myParameters - >像你wtritten一樣的參數。 –

+0

你必須首先寫參數而不是myParameters – Timan

+0

是的,我也更新了我的問題 –

1

使用參數代替myParameters。

因此,擺在應用/配置/ myConfig.yml:

parameters: 
    myKey: myValue 
+0

相同的異常:'沒有擴展能夠加載配置「myParameters」(中....' –

+0

你確定嗎?我跑了同樣的事情,並正在工作。你在開發環境中工作嗎? – Daniella

+0

是的......如果我把'myKey:myValue'移到'parameters'下的'parameters.yml' - 它可以工作,但是在'參數'下的'config.yml'中......我在開發環境。 –