ldc-arcadia-api/src/Domain/Models/ValueObjects/IncoId.php

21 lines
431 B
PHP
Raw Normal View History

<?php
declare(strict_types=1);
namespace Domain\Models\ValueObjects;
final readonly class IncoId
{
private const PATTERN = '/^\d{1,}$/';
public function __construct(
public readonly string $value
) {
if (! preg_match(self::PATTERN, $value)) {
throw new \DomainException(
"Invalid value '{$value}' does not match pattern " . self::PATTERN
);
}
}
}