b484763a7a
This is mainly intended for complex configurations to ease the work you have with normalizing different configuration formats (YAML, XML, and PHP). First, you have to set-up a config tree: $treeBuilder = new TreeBuilder(); $tree = $treeBuilder ->root('security_config', 'array') ->node('access_denied_url', 'scalar')->end() ->normalize('encoder') ->node('encoders', 'array') ->key('class') ->prototype('array') ->before()->ifString()->then(function($v) { return array('algorithm' => $v); })->end() ->node('algorithm', 'scalar')->end() ->node('encode_as_base64', 'scalar')->end() ->node('iterations', 'scalar')->end() ->end() ->end() ->end() ->buildTree() ; This tree and the metadata attached to the different nodes is then used to intelligently transform the passed config array: $normalizedConfig = $tree->normalize($config);
10 lines
178 B
PHP
10 lines
178 B
PHP
<?php
|
|
|
|
namespace Symfony\Component\DependencyInjection\Configuration;
|
|
|
|
interface NodeInterface
|
|
{
|
|
function getName();
|
|
function getPath();
|
|
function normalize($value);
|
|
} |