DependencyInjection/Configuration.php
private function addClientsSection()
    {
        $tree = new TreeBuilder();
        $node = $tree->root('pools');

        $node
            ->requiresAtLeastOneElement()
            ->useAttributeAsKey('name')
            ->prototype('array')
                ->children()
                    ->arrayNode('servers')
                        ->requiresAtLeastOneElement()
                        ->prototype('array')
                            ->children()
                                ->scalarNode('host')
                                	->cannotBeEmpty()
                                	->isRequired()
                               	->end()
                                ->scalarNode('tcp_port')
                                    ->defaultValue(11211)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('port must be numeric')
                                    ->end()
                                ->end()
                                ->scalarNode('udp_port')
                                    ->defaultValue(0)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('port must be numeric')
                                    ->end()
                                ->end()
                                ->booleanNode('persistent')
                                	->defaultTrue()
                                ->end()
                                ->scalarNode('weight')
                                    ->defaultValue(1)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('weight must be numeric')
                                    ->end()
                                ->end()
                                ->scalarNode('timeout')
	                                ->defaultValue(1)
	                                ->validate()
	                                ->ifTrue(function ($v) { return !is_numeric($v); })
	                                	->thenInvalid('timeout must be numeric')
	                                ->end()
                                ->end()
                                ->scalarNode('retry_interval')
	                                ->defaultValue(15)
	                                ->validate()
	                                ->ifTrue(function ($v) { return !is_numeric($v); })
	                                	->thenInvalid('retry_interval must be numeric')
	                                ->end()
                                ->end()
                        	->end()
                        ->end()
                    ->end()
                    ->append($this->addMemcacheOptionsSection())
                ->end()
            ->end()
        ->end();

        return $node;
    }
private function addClientsSection()
    {
        $tree = new TreeBuilder();
        $node = $tree->root('pools');

        $node
            ->requiresAtLeastOneElement()
            ->useAttributeAsKey('name')
            ->prototype('array')
                ->children()
                    ->arrayNode('servers')
                        ->requiresAtLeastOneElement()
                        ->prototype('array')
                            ->children()
                                ->scalarNode('host')
                                	->cannotBeEmpty()
                                	->isRequired()
                               	->end()
                                ->scalarNode('tcp_port')
                                    ->defaultValue(11211)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('port must be numeric')
                                    ->end()
                                ->end()
                                ->scalarNode('udp_port')
                                    ->defaultValue(0)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('port must be numeric')
                                    ->end()
                                ->end()
                                ->booleanNode('persistent')
                                	->defaultTrue()
                                ->end()
                                ->scalarNode('weight')
                                    ->defaultValue(1)
                                    ->validate()
                                    ->ifTrue(function ($v) { return !is_numeric($v); })
                                        ->thenInvalid('weight must be numeric')
                                    ->end()
                                ->end()
                                ->scalarNode('timeout')
	                                ->defaultValue(1)
	                                ->validate()
	                                ->ifTrue(function ($v) { return !is_numeric($v); })
	                                	->thenInvalid('timeout must be numeric')
	                                ->end()
                                ->end()
                                ->scalarNode('retry_interval')
	                                ->defaultValue(15)
	                                ->validate()
	                                ->ifTrue(function ($v) { return !is_numeric($v); })
	                                	->thenInvalid('retry_interval must be numeric')
	                                ->end()
                                ->end()
                        	->end()
                        ->end()
                    ->end()
                    ->append($this->addMemcacheOptionsSection())
                ->end()
            ->end()
        ->end();

        return $node;
    }
private function addClientsSection ( ) { $ tree = new TreeBuilder ( ) ; $ node = $ tree -> root ( 'pools' ) ; $ node -> requiresAtLeastOneElement ( ) -> useAttributeAsKey ( 'name' ) -> prototype ( 'array' ) -> children ( ) -> arrayNode ( 'servers' ) -> requiresAtLeastOneElement ( ) -> prototype ( 'array' ) -> children ( ) -> scalarNode ( 'host' ) -> cannotBeEmpty ( ) -> isRequired ( ) -> end ( ) -> scalarNode ( 'tcp_port' ) -> defaultValue ( 11211 ) -> validate ( ) -> ifTrue ( function ( $ v ) { return ! is_numeric ( $ v ) ; } ) -> thenInvalid ( 'port must be numeric' ) -> end ( ) -> end ( ) -> scalarNode ( 'udp_port' ) -> defaultValue ( 0 ) -> validate ( ) -> ifTrue ( function ( $ v ) { return ! is_numeric ( $ v ) ; } ) -> thenInvalid ( 'port must be numeric' ) -> end ( ) -> end ( ) -> booleanNode ( 'persistent' ) -> defaultTrue ( ) -> end ( ) -> scalarNode ( 'weight' ) -> defaultValue ( 1 ) -> validate ( ) -> ifTrue ( function ( $ v ) { return ! is_numeric ( $ v ) ; } ) -> thenInvalid ( 'weight must be numeric' ) -> end ( ) -> end ( ) -> scalarNode ( 'timeout' ) -> defaultValue ( 1 ) -> validate ( ) -> ifTrue ( function ( $ v ) { return ! is_numeric ( $ v ) ; } ) -> thenInvalid ( 'timeout must be numeric' ) -> end ( ) -> end ( ) -> scalarNode ( 'retry_interval' ) -> defaultValue ( 15 ) -> validate ( ) -> ifTrue ( function ( $ v ) { return ! is_numeric ( $ v ) ; } ) -> thenInvalid ( 'retry_interval must be numeric' ) -> end ( ) -> end ( ) -> end ( ) -> end ( ) -> end ( ) -> append ( $ this -> addMemcacheOptionsSection ( ) ) -> end ( ) -> end ( ) -> end ( ) ; return $ node ; }
Configure the "lsw_memcache.pools" section

@return ArrayNodeDefinition
Configure the lsw_memcache . pools section