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

22 lines
479 B
PHP

<?php
declare(strict_types=1);
namespace Domain\Models\ValueObjects\Inco;
use Shared\DDD\EntityId;
final readonly class IncoId extends EntityId
{
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
);
}
}
}