Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Esta SDK está muito antiga (sem namespace, sem recursos modernos do PHP) #21

Open
vitorccs opened this issue Apr 9, 2024 · 1 comment

Comments

@vitorccs
Copy link

vitorccs commented Apr 9, 2024

Pessoal

Puxa vida... que falta de investimento por parte da MaxiPago aqui.

Essa biblioteca precisa:

  1. Ser versionada - para que os sistemas que irão usar, possam determinar a versão compatível e evitar surpresas desagradáveis
  2. Precisa usar PSR e suas recomendações - para que pelo menos ela seja compatível com namespace e importação via Composer, ninguém mais importa biblioteca dessa maneira
  3. Utilizar Composer para gerenciar dependências - puxa vocês colocaram a bilbioteca KLogger diretamete no código-fonte, não há como administrar as atualizações dela (incluindo as de segurança)
  4. Usar PHP moderno (ex: PHP 8.x) para se beneficiar de recursos modernos, como a tipagem de propriedades que o código atual faz de modo totalmente manual.
  5. Criar testes de unidade em alguma biblioteca moderna como PHPUnit ou Pest
  6. Orientação o objeto - pouco agrega fazer uma SDK que apenas encaminha o payload puro em array para a API, vocês precisam trabalhar com o conceito de builder para facilitar a criação do payload ou algo similar

Fontes:
https://semver.org/lang/pt-BR/
https://www.php-fig.org/psr/psr-0/
https://www.php-fig.org/psr/psr-4/

@vitorccs
Copy link
Author

vitorccs commented Jul 4, 2024

A quem interessar...

Segue SDK que estou desenvolvendo com as boas práticas levantadas acima.

https://github.com/vitorccs/maxipago-php-sdk

Obs: No momento, ele consegue fazer pagamentos PIX e Boleto Bancário, mas em futuro breve irei implementar Cartão de Crédito.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant