fromHash( (string) ($artwork->hash ?? ''), (string) ($artwork->thumb_ext ?: 'webp') ); } public function fromHash(?string $hash, ?string $ext = 'webp', string $size = 'md'): ?string { $clean = strtolower((string) preg_replace('/[^a-z0-9]/', '', (string) $hash)); if ($clean === '') { return null; } return ThumbnailService::fromHash($clean, $ext, $size); } }