| <?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); |
| } |
| } |
|
|