2013-05-25 85 views
1

我想動態地設置放在app/config/parameters.yml文件中的數據庫配置(用戶名,主機,密碼等)。動態設置數據庫參數

我的意思是「動態」是基於某種形式的輸入。

這可能嗎?如果是這樣,我該怎麼做?

+0

你想要的形式來寫新的參數parameters.yml文件或者你想儲存容器參數數據庫(可能出現的安全問題,如果獲得別人的存取權限您DATABSE) – nifr

+0

僅將它們存儲在yml文件中就足夠了。 – user2252786

回答

2

請看看Sensio/SensioDistributionBundle,它已經包含在symfony標準版中。

它完全符合您的要求。在parameters.yml文件中設置基本參數。

執行parameters.yml實際寫入的類是Sensio\DistributionBundle\Configurator\Configurator

use Sensio\DistributionBundle\Configurator\Configurator; 

現在使用控制器中的配置器。

$configurator = new Configurator($this->get('kernel')->getRootDir()); 

    $configurator->mergeParameters(array(
     'my_parameter' = 'my_value', 
     'my_parameter2' = 'my_value2', 
    )); 

    $configurator->write(); 
} 

最好的事情就是看配置器類本身以瞭解它是如何工作的。

希望這有助於:)

+0

jeah結合閱讀當前數據與YAML ::解析檢查文件的存在和Yaml ::轉儲 - 這就是爲什麼我選擇提示你到配置器......少工作:) – nifr