| | <?php |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | namespace Eluceo\iCal; |
| |
|
| | class PropertyBag implements \IteratorAggregate |
| | { |
| | |
| | |
| | |
| | protected $elements = []; |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function set($name, $value, $params = []) |
| | { |
| | $this->add(new Property($name, $value, $params)); |
| |
|
| | return $this; |
| | } |
| |
|
| | |
| | |
| | |
| | public function get(string $name) |
| | { |
| | if (isset($this->elements[$name])) { |
| | return $this->elements[$name]; |
| | } |
| |
|
| | return null; |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | public function add(Property $property) |
| | { |
| | $name = $property->getName(); |
| |
|
| | if (isset($this->elements[$name])) { |
| | throw new \Exception("Property with name '{$name}' already exists"); |
| | } |
| |
|
| | $this->elements[$name] = $property; |
| |
|
| | return $this; |
| | } |
| |
|
| | #[\ReturnTypeWillChange] |
| | public function getIterator() |
| | { |
| | return new \ArrayObject($this->elements); |
| | } |
| | } |
| |
|