GitHub
php-datatypes
Blocos de construção DDD para PHP: um Trait testado por atributo, além de objetos de valor imutáveis do tipo Str/int/float, Slug, Url, EmailAddress, Money e datetime. Sem necessidade de frameworks ou dependências de terceiros.
Tipos de dados PHP
O PHP Datatypes constrói os seus objetos de valor, entidades e agregados a partir de características predefinidas e testadas - uma para cada atributo - deixando a definição da classe livre para a lógica de negócio a ela associada.
Os getters devolvem objetos de valor em vez de tipos primitivos sempre que possível, de modo que um valor transporta a sua própria validação e normalização, em vez de cada chamador ter de o decorar. Não existe qualquer dependência de terceiros para além do próprio PHP, pelo que estes valores funcionam sem uma framework, um pedido HTTP ou um mecanismo de templates.
AbstractValueObject- a base que um Objecto de Valor, Entidade ou Agregado estende, permitindo a sua construção a partir de um array, serialização completa etoArray()out-of-the-box.- Características da Entidade - uma característica por atributo (
HasPositiveIntegerIDTrait,HasActiveTrait,HasNameTrait, ...), cada uma contendo as dicas de tipo e a normalização para esse atributo. - Tipos de dados escalares - wrappers imutáveis
Strnúmeros inteiros e pontos flutuantes, com uma API fluente que devolve uma nova instância em cada operação, em vez de modificar o valor no local. - Tipos de dados Web -
Slug,UrleEmailAddress, cada um validando-se e normalizando-se. - Tipos de dados datetime - valores de data e hora, sem necessidade de utilizar uma biblioteca datetime.
- Vocabulário de exceção - uma exceção tipada por tipo de dados em
Exceptions\Datatypes\*, de modo que um valor rejeitado indica o que foi rejeitado e porquê.
Âmbito
Este pacote contém tipos de dados: valores que se validam e normalizam automaticamente, e que qualquer aplicação PHP pode utilizar sem uma framework, um pedido HTTP ou um mecanismo de templates. A regra " Sem dependências de terceiros " é tanto uma regra de âmbito como uma regra de dependência.
O comportamento que renderiza, analisa documentos ou existe para servir uma página web não é um tipo de dados e reside em hradigital/php-markup . O php-markup depende deste pacote - nunca o contrário.
- PHP
- JavaScript
- Datatypes
- Makefile
- Primitives