insidesuki/valueobject

常用值对象

3.5.11 2024-03-25 17:02 UTC

README

常用值对象。完整文档:https://gitlab.com/insidesuki/valueobject

1- DateValue

用于管理 DateTime 类型的简单值对象。

  • 创建新的 DateValue
    $startData = DateValue::create('31-10-2010');
    
- Exception on invalid date
> InvalidDateException

- Get Age

$date = DateValue::create('31-10-2010'); echo $date->age();


**2- DocumentNumber**
--

Spanish NIF/CIF/NIF. Support for Passport type(no validation available)

- Supported types:

enum DocumentType: string {

case nif = '10';
case passport = '20';
case nie = '60';
case cif = '90';

}

- To create a new DocumentNumber by DocumentType
```
// nif
$nif = DocumentNumber::createByType('90','Z3740746P');


在无效数字时抛出 InvalidDocumentNumberException

在无效文档类型时抛出 InvalidDocumentTypeException

  • 创建不指定类型的新的 DocumentNumber
// number, documentType detected on execution time
$number = DocumentNumber::create('Z3740746P');

// to avoid validation, passport type returned
$numberWithoutValidatin = DocumentNumber::create('posduhsui',false);

  • 使用指定类型更改 DocumentNumber

$nif->change('60','newNumber');


3- FullName

名字, 姓氏1, 姓氏2 姓氏2为可选


// lastname2 is optional
$name = '  james  ';
$lastname = '    bond  ';
$lastname1 = ' ';
$fullName = FullNameValue::create($name,$lastname,$lastname1);

4- Gender

通用性别,允许空字符串

  • GenderTypes

enum GenderType:string
{

	case Masculino = '1';
	case Femenino = '2';
	case Undefined = '';

}


  • 创建
    // Female
    Gender::create('2');
    // Male
    Gender::create('1');
    // Undefined
    Gender::create('');
    
- Exceptions
> InvalidGenderTypeException

**5- EmailValue**
--

Email value object, admits empty string 


  • 创建
    
    

    // 有效 $email = EmailValue::create($emailString); // 空的 $email = EmailValue::createAllowEmpty('');


- Exceptions
> InvalidEmailException


**6- PhoneNumberValue**
--

PhoneNumber value object, admits empty string


  • 创建
    
    

    // 有效 $phone = PhoneValue::createPhone('987154362'); // 空的 $phoneEmpty = PhoneValue::createPhoneAllowEmpty('');

// 移动 $movil = PhoneValue::createMovilPhone('714652391'); // 空的 $movil = PhoneValue::createMovilPhoneAllowEmpty('714652391');


- Exceptions
> InvalidPhoneNumberException
> EmptyPhoneNumberException

**7- NivelEstudioValue**
--

FUNDAE nivel estudios

**8- CategoriaProfesionalValue**
--

FUNDAE categoria profesional.

**9- GrupoCotizacionValue**
--

FUNDAE grupo cotizacion

**10- CuentaCotizacionValue**
--

FUNDAE cuenta cotizacion

**11- TerrorismoValue**
--

FUNDAE afectados terrorismo.

**12- ViolenciaValue**
--

FUNDAE afectados violencia de genero

**14- DiscapacidadValue**
--

FUNDAE afectados discapacidad.

**15- Amount**
--