jgimeno/value-objects

PHP值对象的集合,用于作为领域驱动设计(DDD)的构建块。

0.3.0 2017-02-23 21:24 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:14:45 UTC


README

Build Status Coverage Status Code Climate

终极PHP值对象集合

PHP值对象的集合,用于作为领域驱动设计(DDD)的构建块。

这个库旨在为不同项目定义值对象提供一个起点。

所有值对象都是不可变的。

如何安装

您可以使用composer来获取它

composer require jgimeno/value-objects

如何使用

基础对象

这个库的思路是收集一组对象,作为创建您领域的基础。

最基本的对象是ValueObject,我们可以从它扩展出我们想要创建的所有值对象。基础ValueObject实现了__toString()equals()方法(即您免费获得它们)。

如果我们知道我们的值对象将受益于包含在StringsNumberBoolean对象中的方法,我们可以从那里扩展。

原理

想象一下,我创建了一个名为SonName的对象,我们的领域需要这个对象。在这种情况下,从Strings扩展可能会有用,我们将有像toUpperCase()trim()等可重用的方法。您应该明白了。

最后还有一个名为Identifier的基础对象。当创建ID时非常有用,例如,一个UserId可以从Identifier扩展。然后我们可以执行UserId::generate(),我们将使用UUID生成一个唯一的userId

有用对象

Internet\Email:表示电子邮件地址的对象,当提供的电子邮件不是有效的电子邮件时,它会抛出异常。

Internet\IpAddress:表示IP地址的对象,当它不是有效的IP地址时,它会抛出异常。