setUrl($path); } protected function setUrl(string $url): void { $this->url = $url; } public function getUrl(): string { return $this->url; } public function hash(): string { $class = static::class; return md5("{$class}|{$this->url}"); } abstract public function toHtml(): string; }