nepada / birth-number
Czech birth number value object.
Installs: 1 006
Dependents: 2
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.4.0
- nette/utils: ^3.0@dev
Requires (Dev)
- nepada/coding-standard: ^7.3.0
- nepada/phpstan-nette-tester: ^v0.3.1
- nette/tester: ^2.3.4
- pepakriz/phpstan-exception-rules: ^0.11.2
- php-parallel-lint/php-parallel-lint: ^1.2.0
- phpstan/phpstan: ^0.12.55
- phpstan/phpstan-nette: ^0.12.10
- phpstan/phpstan-strict-rules: ^0.12.5
- spaze/phpstan-disallowed-calls: ^1.0.1
This package is auto-updated.
Last update: 2021-01-15 08:03:26 UTC
README
Installation
Via Composer:
$ composer require nepada/birth-number
Usage
Creating value object
The parser is quite benevolent with regard to the delimiter separating the ending of birth number.
$birthNumber = Nepada\BirthNumber\BirthNumber::fromString('0421010030'); $birthNumber = Nepada\BirthNumber\BirthNumber::fromString('042101/0030'); $birthNumber = Nepada\BirthNumber\BirthNumber::fromString('042101 0030'); $birthNumber = Nepada\BirthNumber\BirthNumber::fromString('042101 / 0030');
Nepada\BirthNumber\InvalidBirthNumberException
is thrown in case of invalid input value.
Converting back to string
echo((string) $birthNumber); // '042101/0030' echo($birthNumber->toString()); // '042101/0030' echo($birthNumber->toStringWithoutSlash()); // '0421010030'
Validation
Nepada\BirthNumber\BirthNumber::isValid('0421010030'); // true Nepada\BirthNumber\BirthNumber::isValid('9999999999'); // false
Comparison
$birthNumber1 = Nepada\BirthNumber\BirthNumber::fromString('042101/0030'); $birthNumber2 = Nepada\BirthNumber\BirthNumber::fromString('042101/0030'); $birthNumber1->equals($birthNumber2); // true
Extracting information from birth number
$birthNumber = Nepada\BirthNumber\BirthNumber::fromString('047101 / 0090'); $birthNumber->getBirthDate(); // \DateTimeImmutable('2004-01-01') $gender = $birthNumber->getGender(); // Nepada\BirthNumber\Gender enum instance $gender->isFemale(); // true $gender->isMale(); // false $gender->toString(); // 'female'
Integrations
- nepada/birth-number-doctrine - Birth number type for Doctrine.
- nepada/birth-number-input - Birth number form input for Nette forms.