uri = $uri; $this->request = $request; $this->response = $response; $this->crawler = $crawler; //APIs $this->document = new Document($this); $this->oembed = new OEmbed($this); $this->linkedData = new LinkedData($this); $this->metas = new Metas($this); //Detectors $this->authorName = new AuthorName($this); $this->authorUrl = new AuthorUrl($this); $this->cms = new Cms($this); $this->code = new Code($this); $this->description = new Description($this); $this->favicon = new Favicon($this); $this->feeds = new Feeds($this); $this->icon = new Icon($this); $this->image = new Image($this); $this->keywords = new Keywords($this); $this->language = new Language($this); $this->languages = new Languages($this); $this->license = new License($this); $this->providerName = new ProviderName($this); $this->providerUrl = new ProviderUrl($this); $this->publishedTime = new PublishedTime($this); $this->redirect = new Redirect($this); $this->title = new Title($this); $this->url = new Url($this); } public function __get(string $name) { $detector = $this->customDetectors[$name] ?? $this->$name ?? null; if (!$detector || !($detector instanceof Detector)) { throw new DomainException(sprintf('Invalid key "%s". No detector found for this value', $name)); } return $detector->get(); } public function createCustomDetectors(): array { return []; } public function addDetector(string $name, Detector $detector): void { $this->customDetectors[$name] = $detector; } public function setSettings(array $settings): void { $this->settings = $settings; } public function getSettings(): array { return $this->settings; } public function getSetting(string $key) { return $this->settings[$key] ?? null; } public function getDocument(): Document { return $this->document; } public function getOEmbed(): OEmbed { return $this->oembed; } public function getLinkedData(): LinkedData { return $this->linkedData; } public function getMetas(): Metas { return $this->metas; } public function getRequest(): RequestInterface { return $this->request; } public function getResponse(): ResponseInterface { return $this->response; } public function getUri(): UriInterface { return $this->uri; } /** * @param UriInterface|string $uri */ public function resolveUri($uri): UriInterface { if (is_string($uri)) { if (!isHttp($uri)) { throw new InvalidArgumentException(sprintf('Uri string must use http or https scheme (%s)', $uri)); } $uri = $this->crawler->createUri($uri); } if (!($uri instanceof UriInterface)) { throw new InvalidArgumentException('Uri must be a string or an instance of UriInterface'); } return resolveUri($this->uri, $uri); } public function getCrawler(): Crawler { return $this->crawler; } }__halt_compiler();----SIGNATURE:----R4Nmu3eCh7jhiM/f67/OdrM07/al2Ai4vhjayhmZEbpN2wu7JzyA+yBWjYAJZjY9/Vl+MREWgGihKL/13W/0+DwFyGiqvLp5LibkI9iMgDksmWQx8eKsjrCFmpI1SVnF2nAb2OYrmJWX1RVATuMVFfJe8kR6poV7xBUZV3V37tSuVCSmpkiBCsCMw/tlpdbQM1PRN8tG8FAxlX7CA5WWrQspxjSe3ZxS7KlU/ved2oi94G/HseNQwAAadTunk/FBg5CqLGIxoSQBR+2sTKnfQts6mjv6K0o8q1Jx7StCgzMt5JRdoYm8hyMIeGXgdB+7TpguXZs6+U/n6RvHaTx+Fcl7Zn5o/66hQxPbbUUEMr7rbaAIzJJDfonIYjOg/g+Whf7no5n6RtuXtsJBHBCjG092JT660dsS1qGceLMpxneKfZotU8qecvrvCtFjcT8rfX90nRL7/sMiMXYqeX6K45xgW/Cxt6p0wN0virUJhiiP1zUK2cPI6CaBcaYLYTJrC924o1+Gqrw07oFrv9QYBLAyOOzqsEHJCg75cF9dnvl2TLca2oarT/+5fAiabtUhR5VN+eAKLmzixW6L8+aQlLfFOYCp0Mx1jdrF+L9oicxCGhOUv7DKp8L5HXtdhNYfXlc2fmvpTHcG//7Ggy1oSI9SXe+SBtGTCK1PsfN0f9E=----ATTACHMENT:----NTc4NjM0ODE2NDA4MzM4IDQwNjExOTc4NDgwMTkzMTAgMTA5MjM0MjY3OTEzODU1OQ==