config = $config; $this->ticks = $ticks; } abstract public function generate(): string; abstract public function getContentType(): string; protected function buildTickUrl(int $tickId): string { return Util::buildUrl($this->config->baseUrl, $this->config->basePath, "tick/{$tickId}"); } protected function getSiteUrl(): string { return Util::buildUrl($this->config->baseUrl, $this->config->basePath); } }