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

36 lines
912 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_EMAIL;
use function filter_var;
2024-05-07 12:17:25 +02:00
class Email {
/** @var string */
private $email;
public function __construct(string $email) {
$this->ensureEmailIsValid($email);
$this->email = $email;
}
public function asString(): string {
return $this->email;
}
private function ensureEmailIsValid(string $url): void {
2024-05-17 12:24:19 +00:00
if (filter_var($url, FILTER_VALIDATE_EMAIL) === false) {
2024-05-07 12:17:25 +02:00
throw new InvalidEmailException;
}
}
}