1.0.0 2024-01-20 10:17 UTC

This package is auto-updated.

Last update: 2024-09-20 11:43:36 UTC


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));

支持的类型

IntId - 一个简单的整数ID
UUidId - 一个UUID ID
Email - 一个电子邮件地址