<?php namespace Lightscale\LaralightAssets; use Illuminate\Contracts\Support\Htmlable; abstract class File implements Htmlable { private string $url; public function __construct(string $path) { $this->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; }