data = $data; $this->length = $length; } public function __toString(): string { $result = parent::__toString(); if ($this->length !== null) { $result .= $this->length; } return $result . $this->data; } public static function create(string $data): self { return new self($data); } public function getValue(): string { return $this->data; } public function getLength(): int { return mb_strlen($this->data, 'utf8'); } public function normalize(): string { return $this->data; } }