| 12345678910111213141516171819202122232425262728293031323334353637 |
- <?php declare(strict_types = 1);
- /*
- * This file is part of PharIo\Manifest.
- *
- * (c) Arne Blankerts <arne@blankerts.de>, Sebastian Heuer <sebastian@phpeople.de>, Sebastian Bergmann <sebastian@phpunit.de>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace PharIo\Manifest;
- class ApplicationName {
- /** @var string */
- private $name;
- public function __construct(string $name) {
- $this->ensureValidFormat($name);
- $this->name = $name;
- }
- public function asString(): string {
- return $this->name;
- }
- public function isEqual(ApplicationName $name): bool {
- return $this->name === $name->name;
- }
- private function ensureValidFormat(string $name): void {
- if (!\preg_match('#\w/\w#', $name)) {
- throw new InvalidApplicationNameException(
- \sprintf('Format of name "%s" is not valid - expected: vendor/packagename', $name),
- InvalidApplicationNameException::InvalidFormat
- );
- }
- }
- }
|