2015-09-07 64 views
0

配置值我创建了一个包有一个配置类:的Symfony:获得一个捆绑

class Configuration implements ConfigurationInterface 
{ 
public function getConfigTreeBuilder() 
{ 
    $treeBuilder = new TreeBuilder(); 
    $rootNode = $treeBuilder->root('mongo_image'); 

    $rootNode 
      ->children() 
      ->scalarNode('mongo_server') 
      ->cannotBeEmpty() 
      ->isRequired() 
      ->info('Mongo server') 
      ->end(); 
    $rootNode->children() 
      ->scalarNode('mongo_port') 
      ->defaultValue(27017) 
      ->info('Mongo port') 
      ->end(); 
    ........ 


    return $treeBuilder; 
} 
} 

然后我在config.yml设置的值。

如何在控制器中获取此值?

回答

0

附加YourExtension类

namespace YourBundle\DependencyInjection; 
use ... 
class YourExtension extends Extension 
{ 
    /** 
    * {@inheritdoc} 
    */ 
    public function load(array $configs, ContainerBuilder $container) 
    { 
     $configuration = new Configuration(); 
     $config = $this->processConfiguration($configuration, $configs); 

     foreach ($config as $parameter => $name) { 
      $container->setParameter(
       'mongo_image.'.$parameter, 
       $name 
      ); 
     } 

     $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config')); 
     $loader->load('services.yml'); 
}