[ Index ] |
PHP Cross Reference of phpBB-3.1.12-deutsch |
[Summary view] [Print] [Text view]
1 <?php 2 3 /* 4 * This file is part of the Symfony package. 5 * 6 * (c) Fabien Potencier <fabien@symfony.com> 7 * 8 * For the full copyright and license information, please view the LICENSE 9 * file that was distributed with this source code. 10 */ 11 12 namespace Symfony\Component\Config\Definition\Builder; 13 14 use Symfony\Component\Config\Definition\NodeInterface; 15 16 /** 17 * This is the entry class for building a config tree. 18 * 19 * @author Johannes M. Schmitt <schmittjoh@gmail.com> 20 */ 21 class TreeBuilder implements NodeParentInterface 22 { 23 protected $tree; 24 protected $root; 25 protected $builder; 26 27 /** 28 * Creates the root node. 29 * 30 * @param string $name The name of the root node 31 * @param string $type The type of the root node 32 * @param NodeBuilder $builder A custom node builder instance 33 * 34 * @return ArrayNodeDefinition|NodeDefinition The root node (as an ArrayNodeDefinition when the type is 'array') 35 * 36 * @throws \RuntimeException When the node type is not supported 37 */ 38 public function root($name, $type = 'array', NodeBuilder $builder = null) 39 { 40 $builder = $builder ?: new NodeBuilder(); 41 42 return $this->root = $builder->node($name, $type)->setParent($this); 43 } 44 45 /** 46 * Builds the tree. 47 * 48 * @return NodeInterface 49 * 50 * @throws \RuntimeException 51 */ 52 public function buildTree() 53 { 54 if (null === $this->root) { 55 throw new \RuntimeException('The configuration tree has no root node.'); 56 } 57 if (null !== $this->tree) { 58 return $this->tree; 59 } 60 61 return $this->tree = $this->root->getNode(true); 62 } 63 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Jan 11 00:25:41 2018 | Cross-referenced by PHPXref 0.7.1 |