values[$key] = $value; } public function setRawValue(string $value) : void { if (! str_contains($value, '=')) { throw new \RuntimeException(sprintf("A key=value notation was awaited, received %s instead", $value)); } list($key, $value) = explode('=', trim($value), 2); $this->setValue($key, $value); } public function getValue() : null|array { return $this->values ?: null; } }