You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
595 B
25 lines
595 B
<?php declare(strict_types = 1); |
|
namespace TheSeer\Tokenizer; |
|
|
|
class NamespaceUri { |
|
|
|
/** @var string */ |
|
private $value; |
|
|
|
public function __construct(string $value) { |
|
$this->ensureValidUri($value); |
|
$this->value = $value; |
|
} |
|
|
|
public function asString(): string { |
|
return $this->value; |
|
} |
|
|
|
private function ensureValidUri($value): void { |
|
if (\strpos($value, ':') === false) { |
|
throw new NamespaceUriException( |
|
\sprintf("Namespace URI '%s' must contain at least one colon", $value) |
|
); |
|
} |
|
} |
|
}
|
|
|