GitHub
php-datatypes-laravel-doctrine
Persistência de objetos com valores de tipos de dados PHP utilizando Doctrine DBAL - Laravel com configuração automática e sem necessidade de configuração adicional.
php-datatypes-laravel-doctrine
Este pacote permite que um objeto do tipo hradigital/php-datatypes seja declarado como o tipo de um atributo de uma entidade Doctrine. O Doctrine persiste apenas os tipos com os quais é fornecido, pelo que um objeto do tipo EmailAddress , Money ou Address teria de ser declarado como primitivo e convertido manualmente a cada leitura e escrita. Fornece um tipo DBAL do Doctrine por objeto Datatypes, além de um fornecedor de serviços do Laravel que os regista, de modo a que a entidade mantenha o objeto de valor enquanto a base de dados ainda mantém um valor simples, indexável e legível por humanos.
- Tipos DBAL do Doctrine - um por objeto Datatypes:
StrType,EmailAddressType,UrlType,SlugType,DatetimeType,CurrencyType,MoneyType,AddressTypee os restantes. - Tipos nativos do PHP -
NativeDateTimeType,NativeDateTimeImmutableType,NativeDateIntervalTypeeNativeDateTimeZoneType, portanto, uma entidade contendo\DateTimemapas simples sob a mesma convenção de nomenclatura. - Fornecedor de serviços Laravel - descoberto automaticamente, registando cada tipo antes de qualquer EntityManager resolver um mapeamento. Nada para publicar, nada para configurar.
- Uma regra de nomenclatura : o nome de um tipo do Doctrine é sempre o nome abreviado da própria classe Type.
- Validação na entrada - uma falha de validação de um Objecto de Valor manifesta-se como um DBAL
ConversionException, pelo que um valor inválido é rejeitado em vez de corromper a coluna. - Framework opcional - os tipos são tipos DBAL simples, sem dependência de framework; o prestador de serviços é uma conveniência.
O que este pacote não é
- Não é um fork nem um substituto para
hradigital/php-datatypesDepende dele e acrescenta persistência, nada mais. O comportamento, a validação e a API dos Objetos de Valor são inteiramente próprios. - Não é um ORM, nem um conjunto de entidades. Contribui com tipos de coluna. As suas entidades, mapeamentos e repositórios permanecem seus.
- Não é exclusivo do Laravel. Ver Usar fora do Laravel .
- PHP
- Laravel
- JavaScript
- Doctrine
- Doctrine-orm
- Laravel-package
- Makefile
- Shell