jakubgiminski/value-object

此包已被废弃且不再维护。未建议替代包。
此包最新版本(dev-master)没有可用的许可信息。

抽象类库,旨在用作值对象的基类。

dev-master 2017-01-01 19:55 UTC

This package is auto-updated.

Last update: 2022-02-01 13:04:10 UTC


README

此库适用于在PHP中构建值对象。它是一组抽象类(每个用于每种标量类型),其中包含常见的验证机制,因此您无需编写它们。

到目前为止,我们有 StringValueIntegerValue,它们已经满足大多数需求。未来可能会实现更多标量表示(欢迎贡献)。

在此 可以找到一些单元测试示例。

所需PHP版本: 7.0.0 或更高版本

安装

composer require jakubgiminski/value-object

概述

每个值对象都有一个 getValue() 方法。

ValueObject\StringValue

验证规则(可选)

/** @var int */
protected $minLength;

/** @var int */
protected $maxLength;

/** @var array */
protected $validValues = [];

比较方法

public function isEqual(StringValueInterface $stringValue): bool;
public function isShorterThan(StringValueInterface $stringValue): bool;
public function isLongerThan(StringValueInterface $stringValue): bool;

使用示例

ValueObject\IntegerValue

验证规则(可选)

/** @var array */
protected $validRange = [];

/** @var array */
protected $validValues = [];

/** @var array */
protected $invalidValues = [];

比较方法

public function isEqual(IntegerValueInterface $integerValue): bool;
public function isLessThan(IntegerValueInterface $integerValue): bool;
public function isGreaterThan(IntegerValueInterface $integerValue): bool;

使用示例