Symfony2 API
Class

Symfony\Component\Config\Definition\Builder\NodeBuilder

class NodeBuilder implements NodeParentInterface

This class provides a fluent interface for building a node.

Methods

__construct()

Constructor

NodeBuilder setParent(ParentNodeDefinitionInterface $parent = null)

Set the parent node.

ArrayNodeDefinition arrayNode(string $name)

Creates a child array node.

ScalarNodeDefinition scalarNode(string $name)

Creates a child scalar node.

BooleanNodeDefinition booleanNode(string $name)

Creates a child Boolean node.

IntegerNodeDefinition integerNode(string $name)

Creates a child integer node.

FloatNodeDefinition floatNode(string $name)

Creates a child float node.

EnumNodeDefinition enumNode(string $name)

Creates a child EnumNode.

VariableNodeDefinition variableNode(string $name)

Creates a child variable node.

ParentNodeDefinitionInterface end()

Returns the parent node.

NodeDefinition node(string $name, string $type)

Creates a child node.

NodeBuilder append(NodeDefinition $node)

Appends a node definition.

NodeBuilder setNodeClass(string $type, string $class)

Adds or overrides a node Type.

Details

at line 28
public __construct()

Constructor

at line 48
public NodeBuilder setParent(ParentNodeDefinitionInterface $parent = null)

Set the parent node.

Parameters

ParentNodeDefinitionInterface $parent The parent node

Return Value

NodeBuilder This node builder

at line 62
public ArrayNodeDefinition arrayNode(string $name)

Creates a child array node.

Parameters

string $name The name of the node

Return Value

ArrayNodeDefinition The child node

at line 74
public ScalarNodeDefinition scalarNode(string $name)

Creates a child scalar node.

Parameters

string $name the name of the node

Return Value

ScalarNodeDefinition The child node

at line 86
public BooleanNodeDefinition booleanNode(string $name)

Creates a child Boolean node.

Parameters

string $name The name of the node

Return Value

BooleanNodeDefinition The child node

at line 98
public IntegerNodeDefinition integerNode(string $name)

Creates a child integer node.

Parameters

string $name the name of the node

Return Value

IntegerNodeDefinition The child node

at line 110
public FloatNodeDefinition floatNode(string $name)

Creates a child float node.

Parameters

string $name the name of the node

Return Value

FloatNodeDefinition The child node

at line 122
public EnumNodeDefinition enumNode(string $name)

Creates a child EnumNode.

Parameters

string $name

Return Value

EnumNodeDefinition

at line 134
public VariableNodeDefinition variableNode(string $name)

Creates a child variable node.

Parameters

string $name The name of the node

Return Value

VariableNodeDefinition The builder of the child node

at line 144
public ParentNodeDefinitionInterface end()

Returns the parent node.

Return Value

ParentNodeDefinitionInterface The parent node

at line 160
public NodeDefinition node(string $name, string $type)

Creates a child node.

Parameters

string $name The name of the node
string $type The type of the node

Return Value

NodeDefinition The child node

Exceptions

RuntimeException When the node type is not registered
RuntimeException When the node class is not found

at line 188
public NodeBuilder append(NodeDefinition $node)

Appends a node definition.

Usage:

$node = new ArrayNodeDefinition('name')
->children()
->scalarNode('foo')->end()
->scalarNode('baz')->end()
->append($this->getBarNodeDefinition())
->end()
;

Parameters

NodeDefinition $node

Return Value

NodeBuilder This node builder

at line 213
public NodeBuilder setNodeClass(string $type, string $class)

Adds or overrides a node Type.

Parameters

string $type The name of the type
string $class The fully qualified name the node definition class

Return Value

NodeBuilder This node builder