for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace DDDominio\EventSourcing\Common;
use DDDominio\Common\MetadataInterface;
class Metadata implements MetadataInterface
{
/**
* @var array
*/
private $metadata = [];
* @param array $metadata
public function __construct(array $metadata = [])
foreach ($metadata as $key => $values) {
$this->set($key, $values);
}
* @param string $key
* @param string $value
public function set($key, $value)
$this->metadata[$key] = $value;
* @return mixed|null
public function get($key)
return $this->has($key) ? $this->metadata[$key] : null;
* @return bool
public function has($key)
return isset($this->metadata[$key]) || array_key_exists($key, $this->metadata);
* @param $key
public function remove($key)
if ($this->has($key)) {
unset($this->metadata[$key]);
* @return array
public function all()
return $this->metadata;
* {@inheritdoc}
public function getIterator()
return new \ArrayIterator($this->metadata);
public function count()
return count($this->metadata);