Download the PHP package devitools/constructo without Composer
On this page you can find all versions of the php package devitools/constructo. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package constructo
Constructo
O serializador e deserializador definitivo para PHP
Constructo é uma poderosa biblioteca PHP que fornece capacidades avançadas de serialização e deserialização para objetos PHP. Ela permite conversão perfeita entre objetos e arrays/JSON, com suporte para estruturas aninhadas complexas, conversão de tipos, validação e formatação personalizada.
🚀 Funcionalidades
- Conversão Bidirecional: Serialize objetos para arrays/JSON e deserialize de volta para objetos tipados
- Segurança de Tipos: Suporte completo ao sistema de tipos do PHP 8.3+ incluindo union types, backed enums e propriedades readonly
- Mapeamento Inteligente: Mapeamento automático de propriedades com conversão de snake_case para camelCase
- Formatadores Personalizados: Sistema de formatação extensível para transformações de dados customizadas
- Objetos Aninhados: Manipule hierarquias de objetos complexas e coleções perfeitamente
- Tratamento de Erros: Relatório de erros abrangente com contexto detalhado
- Validação: Validação integrada com suporte a atributos personalizados
- Manipulação de Data/Hora: Análise e formatação inteligente de DateTime
- Coleções: Suporte de primeira classe para coleções tipadas
- Injeção de Dependência: Resolução automática de dependência para construção de objetos
📦 Instalação
Instale o Constructo via Composer:
Requisitos
- PHP 8.3 ou superior
- ext-json
🔧 Início Rápido
Serialização simples e rápida
Desserialização prática e direta
📋 Uso Avançado do Builder
Formatadores Personalizados no Builder
Constructo suporta formatadores personalizados para transformação de dados durante a deserialização:
Objetos Aninhados Complexos com Builder
Suporte a Backed Enums com Builder
Tratamento de Erros com Datum
Quando a deserialização falha, o Constructo fornece informações detalhadas de erro:
📋 Uso Avançado do Demolisher
Formatadores Personalizados no Demolisher
Trabalhando com Coleções
🛠️ Funções Utilitárias
Constructo inclui várias funções utilitárias para operações comuns:
Helpers JSON
Conversão de Tipos
Extração de Dados
🧪 Extensões de Teste
Constructo fornece utilitários de teste para facilitar os testes:
📚 Conceitos Centrais
Classe Base Entity
Estenda a classe Entity para obter suporte automático de serialização:
Classe Set
A classe Set é usada para gerenciar coleções de dados com segurança de tipos:
Classe Value
Para manipular valores individuais com validação e transformação:
🔍 Funcionalidades Avançadas
Geração de Schema
Constructo pode gerar schemas para seus objetos:
Reflexão e Metadados
Capacidades avançadas de reflexão para introspecção de objetos:
Cache
Suporte integrado de cache para melhor performance:
🤝 Contribuindo
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças importantes, abra primeiro uma issue para discutir o que você gostaria de alterar.
Configuração de Desenvolvimento
- Clone o repositório
- Instale as dependências:
composer install - Execute os testes:
composer test - Execute o linting:
composer lint:phpcs - Execute análise estática:
composer lint:phpstan
Ferramentas de Qualidade de Código
O projeto usa várias ferramentas de qualidade de código:
- PHPUnit para testes
- PHPStan para análise estática
- PHP_CodeSniffer para estilo de código
- PHPMD para detecção de bagunça
- Psalm para análise estática adicional
- Rector para modernização de código
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
🏢 Sobre a Devitools
Constructo é desenvolvido e mantido pela Devitools. Nós nos especializamos em criar ferramentas de desenvolvimento poderosas e bibliotecas para aplicações web modernas.
Para mais informações e exemplos de uso avançado, visite nossa documentação em devi.tools/constructo.
All versions of constructo with dependencies
ext-json Version *
jawira/case-converter Version ^3.5
visus/cuid2 Version ^4.1 || ^5.1
fakerphp/faker Version ^1.24