Download the PHP package icmbio/json2html without Composer
On this page you can find all versions of the php package icmbio/json2html. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download icmbio/json2html
More information about icmbio/json2html
Files in icmbio/json2html
Package json2html
Short Description Json tree converter into an HTML table
License MIT
Informations about the package json2html
RenderTable
Biblioteca PHP para conversão de dados JSON/Array para tabelas HTML com orientação configurável e sistema completo de atributos.
Recursos
- ✅ Conversão de arrays associativos e multidimensionais para HTML
- ✅ Orientação configurável: Horizontal (tradicional) e Vertical
- ✅ Sistema de atributos completo: Classes, IDs, bordas e atributos customizados
- ✅ Controle de tabelas aninhadas: Aplicação seletiva de atributos
- ✅ API Fluente: Configuração através de method chaining
- ✅ Arquitetura Strategy Pattern: Classes especializadas para cada tipo de renderização
Instalação
Uso Básico
Dados Simples
Saída HTML:
Arrays Multidimensionais
Saída HTML:
Orientação da Tabela
Além da configuração manual com RenderTable, a biblioteca também oferece classes prontas para presets de renderização, como TableHorizontal, TableVertical e TableVerticalSeparate.
Orientação Horizontal (Padrão)
Headers ficam no topo, dados nas linhas:
Saída:
Orientação Vertical
Headers ficam na primeira coluna, dados nas colunas seguintes:
Saída:
Presets Prontos
Quando a regra de renderização já é conhecida, você pode usar classes opinativas:
Esse preset gera tabelas verticais e interpreta arrays aninhados estruturais sem achatar listas de arrays em uma única subtabela.
Sistema de Atributos
Classes CSS
Saída:
ID da Tabela
Saída:
Atributo Border
Saída:
Atributos Customizados
Saída:
Combinação de Múltiplos Atributos
Saída:
Controle de Tabelas Aninhadas
Por padrão, as classes CSS são aplicadas em tabelas aninhadas, mas IDs não. Você pode controlar isso explicitamente:
Aplicar apenas na tabela raiz
Saída:
Aplicar em todas as tabelas (padrão para classes)
Saída:
Comportamento Padrão por Tipo de Atributo
- Classes CSS:
nested: true(aplicam em tabelas aninhadas) - IDs:
nested: false(aplicam apenas na tabela raiz) - Border:
nested: true(aplicam em tabelas aninhadas) - Atributos customizados:
nested: true(aplicam em tabelas aninhadas)
Orientação com Atributos
A orientação vertical funciona normalmente com todos os atributos:
Saída:
API Completa
RenderTable
TableOrientation
Exemplos Avançados
Array de Objetos com Orientação Mista
Controle Granular de Atributos Aninhados
Arquitetura
O RenderTable usa o Strategy Pattern com classes especializadas:
AbstractRenderer: Lógica base e sistema de atributosHorizontalRenderer: Layout tradicional (headers no topo)VerticalRenderer: Layout vertical (headers na primeira coluna)TableOrientation: Enum para seleção type-safe da orientação
Isso garante separação de responsabilidades e facilita extensibilidade para futuras orientações de tabela.
📚 Documentação Adicional
- ARCHITECTURE.md - Documentação técnica detalhada da arquitetura
- CONTRIBUTING.md - Guia completo para contribuidores
- .copilot-instructions.md - Instruções específicas para agentes de IA
🤝 Contribuindo
Contribuições são bem-vindas! Por favor, leia o Guia de Contribuição para:
- Configuração do ambiente de desenvolvimento
- Padrões de código e testes
- Processo de Pull Request
- Resolução de problemas comuns
Desenvolvimento Rápido
📋 Roadmap
- [ ] Suporte a templates customizáveis
- [ ] Exportação para diferentes formatos (CSV, PDF)
- [ ] Otimizações de performance para datasets grandes
- [ ] Integração com frameworks populares (Laravel, Symfony)
- [ ] Suporte a elementos HTML5 semânticos
Desenvolvido pelo ICMBio 🌱 | Licença MIT | Contribuições bem-vindas!