GitHub

php-datatypes

php-datatypes

Componentes básicos de DDD para PHP: un Trait probado por atributo, además de objetos de valor inmutables de tipo Str/int/float, Slug, Url, EmailAddress, Money y datetime. Sin frameworks ni dependencias de terceros.

Tipos de datos de PHP

PHP Datatypes crea sus objetos de valor, entidades y agregados a partir de rasgos predefinidos y probados (uno por atributo), dejando la definición de la clase libre para la lógica de negocio que le corresponde.

Los métodos getter devuelven objetos de valor en lugar de tipos primitivos siempre que sea posible, de modo que cada valor se valida y normaliza automáticamente, en lugar de que cada usuario tenga que recordarlo. No existe ninguna dependencia de terceros más allá de PHP, por lo que estos valores funcionan sin necesidad de un framework, una solicitud HTTP o un motor de plantillas.

  • AbstractValueObject - la base de la que extiende un Value Object, Entity o Aggregate, dándole construcción a partir de un array, serialización completa y toArray() listo para usar.
  • Rasgos de entidad : un rasgo por atributo ( HasPositiveIntegerIDTrait , HasActiveTrait , HasNameTrait , ...), cada uno con las sugerencias de tipo y la normalización para ese atributo.
  • Tipos de datos escalares : inmutables Str , envoltorios para enteros y flotantes, con una API fluida que devuelve una nueva instancia en cada operación en lugar de modificar el valor en el lugar.
  • Tipos de datos web : Slug , Url y EmailAddress , cada uno de los cuales se valida y normaliza a sí mismo.
  • Tipos de datos de fecha y hora : valores de fecha y hora, sin necesidad de utilizar una biblioteca de fechas y horas.
  • Vocabulario de excepciones : una excepción tipificada por tipo de dato en la sección Exceptions\Datatypes\* , de modo que un valor rechazado indica qué se rechazó y por qué.

Alcance

Este paquete contiene tipos de datos: valores que se validan y normalizan automáticamente, y que cualquier aplicación PHP puede usar sin necesidad de un framework, una solicitud HTTP o un motor de plantillas. La regla " Sin dependencia de terceros " es tanto una regla de alcance como una regla de dependencia.

El comportamiento que renderiza, analiza documentos o sirve una página web no es un tipo de dato, sino que reside en hradigital/php-markup . php-markup depende de este paquete, nunca al revés.

Visitar proyecto