NodeBuilder
class NodeBuilder implements NodeParentInterface
Этот класс предоставляет удобный интерфейс для построения узла.
Свойства
| protected | $parent | ||
| protected | $nodeMapping |
Методы
| __construct() | ||
| $this | setParent(ParentNodeDefinitionInterface $parent = null) Устанавливает родительский узел. | |
| ArrayNodeDefinition | arrayNode(string $name) Создаёт дочерний массивный узел. | |
| ScalarNodeDefinition | scalarNode(string $name) Создаёт дочерний скалярный узел. | |
| BooleanNodeDefinition | booleanNode(string $name) Создаёт дочерний булевый узел. | |
| IntegerNodeDefinition | integerNode(string $name) Создаёт дочерний целочисленный узел. | |
| FloatNodeDefinition | floatNode(string $name) Создаёт дочерний узел с плавающей точкой. | |
| EnumNodeDefinition | enumNode(string $name) Создаёт дочерний узел типа Enum. | |
| VariableNodeDefinition | variableNode(string $name) Создаёт дочерний узел переменной. | |
| ParentNodeDefinitionInterface|NodeDefinition | end() Возвращает родительский узел. | |
| NodeDefinition | node(string|null $name, string $type) Создаёт дочерний узел. | |
| $this | append(NodeDefinition $node) Добавляет определение узла. | |
| $this | setNodeClass(string $type, string $class) Добавляет или перезаписывает тип узла. | |
| string | getNodeClass(string $type) Возвращает имя класса определения узла. |
Подробности
__construct()
$this setParent(ParentNodeDefinitionInterface $parent = null)
Установите родительский узел.
Параметры
| ParentNodeDefinitionInterface | $parent |
Возвращаемое значение
| $this |
ArrayNodeDefinition arrayNode(string $name)
Создаёт дочерний массив узлов.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| ArrayNodeDefinition | Дочерний узел |
ScalarNodeDefinition scalarNode(string $name)
Создаёт дочерний скалярный узел.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| ScalarNodeDefinition | Дочерний узел |
BooleanNodeDefinition booleanNode(string $name)
Создаёт дочерний булевый узел.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| BooleanNodeDefinition | Дочерний узел |
IntegerNodeDefinition integerNode(string $name)
Создаёт дочерний целочисленный узел.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| IntegerNodeDefinition | Дочерний узел |
FloatNodeDefinition floatNode(string $name)
Создаёт дочерний узел с плавающей точкой.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| FloatNodeDefinition | Дочерний узел |
EnumNodeDefinition enumNode(string $name)
Создаёт дочерний узел Enum.
Параметры
| string | $name |
Возвращаемое значение
| EnumNodeDefinition |
VariableNodeDefinition variableNode(string $name)
Создаёт дочерний узел переменной.
Параметры
| string | $name | Имя узла |
Возвращаемое значение
| VariableNodeDefinition | Построитель дочернего узла |
ParentNodeDefinitionInterface|NodeDefinition end()
Возвращает родительский узел.
Возвращаемое значение
| ParentNodeDefinitionInterface|NodeDefinition | Родительский узел |
NodeDefinition node(string|null $name, string $type)
Создаёт дочерний узел.
Параметры
| string|null | $name | Имя узла |
| string | $type | Тип узла |
Возвращаемое значение
| NodeDefinition | Дочерний узел |
Исключения
| RuntimeException | Когда тип узла не зарегистрирован |
| RuntimeException | Когда класс узла не найден |
$this append(NodeDefinition $node)
Добавляет определение узла.
Использование:
$node = new ArrayNodeDefinition('name')
->children()
->scalarNode('foo')->end()
->scalarNode('baz')->end()
->append($this->getBarNodeDefinition())
->end()
;
Параметры
| NodeDefinition | $node |
Возвращаемое значение
| $this |
$this setNodeClass(string $type, string $class)
Добавляет или перезаписывает тип узла.
Параметры
| string | $type | Название типа |
| string | $class | Полное квалифицированное имя класса определения узла |
Возвращаемое значение
| $this |
protected string getNodeClass(string $type)
Возвращает имя класса определения узла.
Параметры
| string | $type | Тип узла |
Возвращаемое значение
| string | Имя класса определения узла |
Исключения
| RuntimeException | Когда тип узла не зарегистрирован |
| RuntimeException | Когда класс узла не найден |
© 2004–2017 Fabien Potencier
Licensed under the MIT License.
https://api.symfony.com/4.1/Symfony/Component/Config/Definition/Builder/NodeBuilder.html