관리-도구
편집 파일: Url.php
<?php declare(strict_types=1); namespace Kreait\Firebase\Value; use Kreait\Firebase\Exception\InvalidArgumentException; use Stringable; /** * @internal */ final class Url { /** * @var non-empty-string */ public readonly string $value; /** * @param non-empty-string $value */ private function __construct(string $value) { $startsWithHttp = str_starts_with($value, 'https://') || str_starts_with($value, 'http://'); $parsedValue = parse_url($value); if (!$startsWithHttp || $parsedValue === false) { throw new InvalidArgumentException('The URL is invalid.'); } $this->value = $value; } public static function fromString(Stringable|string $value): self { $value = (string) $value; if ($value === '') { throw new InvalidArgumentException('The URL cannot be empty.'); } return new self($value); } }