phpbuildingblocks / types
描述
1.0.0
2024-01-20 10:17 UTC
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.5
- squizlabs/php_codesniffer: *
README
描述
此包旨在提供一个全面的值对象集合,旨在各种项目中实现可重用性和适应性。主要,这些类型侧重于实现强大的验证规则。然而,它们也提供了灵活性,可以根据需要覆盖这些验证规则,确保在广泛的应用中具有多用途和高效的使用。
入门
依赖关系
无依赖
安装
composer require phpbuildingblocks/types
如何重写验证规则
假设您想让IntId只接受大于0的正数。您可以通过扩展IntId类并重写validate方法来实现这一点。
<?php use PHPBuildingBlocks\Types\Id\Exceptions\InvalidIdException; use PHPBuildingBlocks\Types\Id\IntId; class PositiveIntId extends IntId { protected function validate(int $value): void { if (!is_int($value) || $value <= 0) { throw new InvalidIdException('Value must be positive'); } } }
您现在可以使用这个类,就像使用原始的IntId类一样。
<?php use PHPBuildingBlocks\Types\Id\IntId; class someRepository { public function getById(IntId $id) { // do something } } $someRepository = new someRepository(); $result = $someRepository->getById(new PositiveIntId(1));