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

__construct()

Constructor.

NodeBuilder setParent(ParentNodeDefinitionInterface $parent = null)

Set the parent node.

Parameters

ParentNodeDefinitionInterface $parent The parent node

Return Value

NodeBuilder This node builder

ArrayNodeDefinition arrayNode(string $name)

Creates a child array node.

Parameters

string $name The name of the node

Return Value

ArrayNodeDefinition The child node

ScalarNodeDefinition scalarNode(string $name)

Creates a child scalar node.

Parameters

string $name the name of the node

Return Value

ScalarNodeDefinition The child node

BooleanNodeDefinition booleanNode(string $name)

Creates a child Boolean node.

Parameters

string $name The name of the node

Return Value

BooleanNodeDefinition The child node

IntegerNodeDefinition integerNode(string $name)

Creates a child integer node.

Parameters

string $name the name of the node

Return Value

IntegerNodeDefinition The child node

FloatNodeDefinition floatNode(string $name)

Creates a child float node.

Parameters

string $name the name of the node

Return Value

FloatNodeDefinition The child node

EnumNodeDefinition enumNode(string $name)

Creates a child EnumNode.

Parameters

string $name

Return Value

EnumNodeDefinition

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

ParentNodeDefinitionInterface end()

Returns the parent node.

Return Value

ParentNodeDefinitionInterface The parent node

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

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

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

© 2004–2017 Fabien Potencier
Licensed under the MIT License.
http://api.symfony.com/3.0/Symfony/Component/Config/Definition/Builder/NodeBuilder.html