3 namespace Rapsys\UserBundle\DependencyInjection
; 
   5 use Symfony\Component\DependencyInjection\ContainerBuilder
; 
   6 use Symfony\Component\DependencyInjection\Extension\Extension
; 
   9  * This is the class that loads and manages your bundle configuration. 
  11  * @link http://symfony.com/doc/current/cookbook/bundles/extension.html 
  13 class RapsysUserExtension 
extends Extension 
{ 
  17         public function load(array $configs, ContainerBuilder 
$container) { 
  19                 $configuration = $this->getConfiguration($configs, $container); 
  21                 //Process the configuration to get merged config 
  22                 $config = $this->processConfiguration($configuration, $configs); 
  24                 //Detect when no user configuration is provided 
  25                 if ($configs === [[]]) { 
  26                         //Prepend default config 
  27                         $container->prependExtensionConfig($this->getAlias(), $config); 
  30                 //Save configuration in parameters 
  31                 $container->setParameter($this->getAlias(), $config); 
  37         public function getAlias() { 
  42          * The function that parses the array to flatten it into a one level depth array 
  44          * @param $array        The config values array 
  45          * @param $path         The current key path 
  46          * @param $depth        The maxmium depth 
  47          * @param $sep          The separator string 
  49         /*protected function flatten($array, $path = '', $depth = 10, $sep = '.') { 
  53                 //Pass through non hashed or empty array 
  54                 if ($depth && is_array($array) && ($array === [] || array_keys($array) === range(0, count($array) - 1))) { 
  56                 //Flatten hashed array 
  57                 } elseif ($depth && is_array($array)) { 
  58                         foreach($array as $k => $v) { 
  59                                 $sub = $path ? $path.$sep.$k:$k; 
  60                                 $res += $this->flatten($v, $sub, $depth - 1, $sep); 
  62                 //Pass scalar value directly