2016-07-25 16 views
0

我想在config.yml的同一時間加載一個yml文件。 這是我的代碼:registerContainerConfiguration不執行在Prod

public function registerContainerConfiguration(LoaderInterface $loader) { $loader->load($this->getRootDir().'/config/config_'.$this->getEnvironment().'.yml'); $envParameters = $this->getEnvParameters(); if(isset($envParameters['config.boutique'])){ $loader->load($this->getRootDir().'/config/boutique/'.$envParameters['config.boutique'].'.yml'); } }

的模式開發

,這項工作就像一個魅力,但是當我在模式PROD,此功能不執行。 我不得不更換此行app.dev.php:由

$kernel = new AppKernel('prod', false);

$kernel = new AppKernel('prod', true); 

我怎麼能到加載模式督促該陽明文件? 感謝您的幫助

+0

你是否用--env = prod參數清除了緩存? – goto

+0

是的,我試着too.in模式prod在appkernel.php中聲明的函數「registerContainerConfiguration」不是execute.it非常奇怪! – strauss

+0

我不知道。只需在config_xxx.yml中導入您的配置文件是否是個問題? – goto

回答

0

如果我理解正確,您不能在配置文件中定義一個參數並且已經使用它,因爲symfony必須編譯它的內核。 Symfony: Dynamic configuration file loading

您可以通過將

#config_prod.yml 
    imports: 
    - { resource: boutique/YOUR_VALUE.yml } 
#config_dev.yml 
    imports: 
    - { resource: boutique/YOUR_VALUE_DEV.yml } 

如果YOUR_VALUE是動態的,我希望這篇文章將幫助定義文件。它使用的是DependencyInjection Bundle