vmassuchetto / WebserviceCaixa

:money_with_wings: Boletos em cobrança registrada na Caixa Econômica Federal
53 stars 26 forks source link

Sem suporte a PHP 7.2 e sugestões #29

Open trialforce opened 4 years ago

trialforce commented 4 years ago

Bom dia amigo, tudo bem.

Primeiro queria agradecer pelo compartilhamento do código funcional.

Tenho algumas observações para fazer.

  1. Na sua classe WebserviceCaixa você usando var. Onde o certo seria usar public. Var vai parar de funcionar no futuro do php.
  2. O arquivo XmlDomConstruct está usando short tags <?. O que não é padrão do php e gera problemas na maioria de instalações.
  3. NuSoap usando construtor com mesmo nome. O que já é deprecated a muito tempo no PHP Basicamente tive que refatorar o NuSoap inteiro pra funcionar com php 7.2. Seria legal deixar isso atualizado ou mesmo trocar pra lib de soap nativa do PHP.
  4. Faltou algum controle de erro básico: Limpar . e / dos CPF/CNPJ. Informar que o nosso_numero precisa vir sem o digito verificador. Campo cep também precisa ser limpa de traço.
  5. Quanto aos erro do webservice: A mensagem: (BK76) ERRO NA FORMATACAO DA MENSAGEM é muito genérica. Seria muito interessante a biblioteca controlar o que vem no campo EXCECAO.
  6. A nível de sugestão: também seria legal a biblioteca ter um campo CPF_CNPJ, onde você passaria qualquer campo dado e ela iria detectar e resolver o xml certo pra requisição, no caso arrumando o nome/razao social.

Espero ter ajudado.

wilmaxmcruz commented 4 years ago

@trialforce bom dia! você poderia compartilhar os códigos que teve que refatorar. E no caso do erro Fatal error: Uncaught Error: Class 'XmlDomConstruct' not found como você resolveu? obrigado

trialforce commented 4 years ago

Olá @wilmaxmcruz. Conforme minha observação 2. O código da classe XmlDomConstruct está com short open tags <?. As versões mais novas do PHP não suportam isso por padrão. Então se você trocar <? por <?php o sistema passa a reconhecer este arquivo como php.

Primeira linha desse arquivo. https://github.com/vmassuchetto/WebserviceCaixa/blob/master/lib/XmlDomConstruct.php

Fora isso tive que trocar os método de construção de classe para __construct em todas as classes do nusoap.

wilmaxmcruz commented 4 years ago

Boa @trialforce fiz as alterações aqui e funcionou. Valeu!