Files
apimacro/vendor/phar-io/manifest/src/values/Url.php

39 lines
939 B
PHP
Raw Normal View History

2024-05-07 12:17:25 +02:00
<?php declare(strict_types = 1);
/*
* This file is part of PharIo\Manifest.
*
2024-05-17 12:24:19 +00:00
* Copyright (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de> and contributors
2024-05-07 12:17:25 +02:00
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
2024-05-17 12:24:19 +00:00
*
2024-05-07 12:17:25 +02:00
*/
namespace PharIo\Manifest;
2024-05-17 12:24:19 +00:00
use const FILTER_VALIDATE_URL;
use function filter_var;
2024-05-07 12:17:25 +02:00
class Url {
/** @var string */
private $url;
public function __construct(string $url) {
$this->ensureUrlIsValid($url);
$this->url = $url;
}
public function asString(): string {
return $this->url;
}
/**
* @throws InvalidUrlException
*/
2024-05-17 12:24:19 +00:00
private function ensureUrlIsValid(string $url): void {
if (filter_var($url, FILTER_VALIDATE_URL) === false) {
2024-05-07 12:17:25 +02:00
throw new InvalidUrlException;
}
}
}