[ Index ] |
PHP Cross Reference of phpBB-3.3.14-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\Routing\Matcher\Dumper; 13 14 /** 15 * Collection of routes. 16 * 17 * @author Arnaud Le Blanc <arnaud.lb@gmail.com> 18 * 19 * @internal 20 */ 21 class DumperCollection implements \IteratorAggregate 22 { 23 /** 24 * @var DumperCollection|null 25 */ 26 private $parent; 27 28 /** 29 * @var DumperCollection[]|DumperRoute[] 30 */ 31 private $children = []; 32 33 /** 34 * @var array 35 */ 36 private $attributes = []; 37 38 /** 39 * Returns the children routes and collections. 40 * 41 * @return self[]|DumperRoute[] 42 */ 43 public function all() 44 { 45 return $this->children; 46 } 47 48 /** 49 * Adds a route or collection. 50 * 51 * @param DumperRoute|DumperCollection The route or collection 52 */ 53 public function add($child) 54 { 55 if ($child instanceof self) { 56 $child->setParent($this); 57 } 58 $this->children[] = $child; 59 } 60 61 /** 62 * Sets children. 63 * 64 * @param array $children The children 65 */ 66 public function setAll(array $children) 67 { 68 foreach ($children as $child) { 69 if ($child instanceof self) { 70 $child->setParent($this); 71 } 72 } 73 $this->children = $children; 74 } 75 76 /** 77 * Returns an iterator over the children. 78 * 79 * @return \Iterator|DumperCollection[]|DumperRoute[] The iterator 80 */ 81 public function getIterator() 82 { 83 return new \ArrayIterator($this->children); 84 } 85 86 /** 87 * Returns the root of the collection. 88 * 89 * @return self The root collection 90 */ 91 public function getRoot() 92 { 93 return (null !== $this->parent) ? $this->parent->getRoot() : $this; 94 } 95 96 /** 97 * Returns the parent collection. 98 * 99 * @return self|null The parent collection or null if the collection has no parent 100 */ 101 protected function getParent() 102 { 103 return $this->parent; 104 } 105 106 /** 107 * Sets the parent collection. 108 */ 109 protected function setParent(self $parent) 110 { 111 $this->parent = $parent; 112 } 113 114 /** 115 * Returns true if the attribute is defined. 116 * 117 * @param string $name The attribute name 118 * 119 * @return bool true if the attribute is defined, false otherwise 120 */ 121 public function hasAttribute($name) 122 { 123 return \array_key_exists($name, $this->attributes); 124 } 125 126 /** 127 * Returns an attribute by name. 128 * 129 * @param string $name The attribute name 130 * @param mixed $default Default value is the attribute doesn't exist 131 * 132 * @return mixed The attribute value 133 */ 134 public function getAttribute($name, $default = null) 135 { 136 return $this->hasAttribute($name) ? $this->attributes[$name] : $default; 137 } 138 139 /** 140 * Sets an attribute by name. 141 * 142 * @param string $name The attribute name 143 * @param mixed $value The attribute value 144 */ 145 public function setAttribute($name, $value) 146 { 147 $this->attributes[$name] = $value; 148 } 149 150 /** 151 * Sets multiple attributes. 152 * 153 * @param array $attributes The attributes 154 */ 155 public function setAttributes($attributes) 156 { 157 $this->attributes = $attributes; 158 } 159 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Mon Nov 25 19:05:08 2024 | Cross-referenced by PHPXref 0.7.1 |