icmbio / xform
Biblioteca PHP para processamento e manipulação de XForms do ICMBio
v0.0.7
2025-12-03 17:34 UTC
Requires
- php: >=8.1
Requires (Dev)
- phpunit/phpunit: ^11.5
README
Biblioteca PHP para processamento e manipulação de XForms do ICMBio, facilitando a coleta e análise de dados de pesquisa de campo.
📋 Características
- ✅ Processamento de formulários XForm
- ✅ Suporte a attachments (mídia)
- ✅ Manipulação de dados geográficos (geopoint)
- ✅ Grupos repetitivos (repeat groups)
- ✅ Instâncias de survey
- ✅ Integração OSM (OpenStreetMap)
🚀 Instalação
composer require icmbio/xform
📖 Uso Básico
<?php
use Icmbio\Xform\Xform;
// Inicializar o XForm
$xform = new Xform();
// Processar um formulário
$result = $xform->process($xmlData);
// Trabalhar com attachments
$attachments = $xform->getAttachments();
// Manipular dados geográficos
$geoData = $xform->getGeoData();
🔧 Funcionalidades
Processamento de Survey
use Icmbio\Xform\Concerns\SurveyInstance;
$survey = new SurveyInstance();
$data = $survey->processInstance($xmlContent);
Attachments (Mídia)
use Icmbio\Xform\Concerns\SurveyAttachment;
$attachment = new SurveyAttachment();
$files = $attachment->extractAttachments($formData);
Dados Geográficos
use Icmbio\Xform\Concerns\SurveyGeo;
$geo = new SurveyGeo();
$coordinates = $geo->extractGeopoints($surveyData);
Grupos Repetitivos
use Icmbio\Xform\Concerns\SurveyGroupRepeat;
$repeats = new SurveyGroupRepeat();
$groups = $repeats->processRepeats($formData);
📚 Documentação
Para documentação completa, exemplos avançados e guias de integração, visite:
🔍 Requisitos
- PHP 8.1 ou superior
- Extensões PHP: xml, json
🧪 Testes
composer test
📄 Licença
Este projeto está licenciado sob a Licença MIT.
🤝 Contribuição
Contribuições são bem-vindas! Por favor:
- Fork o projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-funcionalidade) - Commit suas mudanças (
git commit -am 'Adiciona nova funcionalidade') - Push para a branch (
git push origin feature/nova-funcionalidade) - Abra um Pull Request
📞 Suporte
Para dúvidas, sugestões ou reportar bugs:
- 🐛 Issues no GitLab
- 📧 Email: joao.garcia.bolsista@icmbio.gov.br
🏛️ Sobre o ICMBio
Instituto Chico Mendes de Conservação da Biodiversidade - ICMBio
- Website: icmbio.gov.br
- Missão: Proteger e conservar a biodiversidade brasileira
Feito com ❤️ para a conservação da biodiversidade brasileira.