Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Biblioteca PHP para emitir boletos bancários

Enviado por Francisco Luz (franciscoferreiraluzΘyahoo·com·au):

“Para baixar a biblioteca Boleto PHP visite [github.com/…] Este pacote contém um código otimizado no estilo OOP e a integração se dá por meio de apenas 3 linhas de código para enviar a sua lista de argumentos. Segue abaixo link do manual completo para integrar a biblioteca a sua aplicação, bem como criar novos plugins (implementações) para novos bancos e carteiras.” [referência: drupalista.com.br]

• Publicado por Augusto Campos em 2011-06-30

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    little_oak (usuário não registrado) em 30/06/2011 às 4:41 pm

    Lembremos do PHPBoleto que é ultra bacana e roda em cima de muitas bandeiras conhecidas, por isso jamais devemos focar no “reinventar a roda”.
    Parabéns pela iniciativa.

    Francisco Luz (usuário não registrado) em 30/06/2011 às 6:08 pm

    @little_oak Concordo que scripts como o Boletophp são de grande ajuda. O principal problema é integração, implementação e manutenção.

    Boletophp até a sua versão 0.17 não é nada flexivel. Para se implementar um novo banco é necessário fazer uma cópia do script inteiro e não havia a separação entre a lógica do programa e a interface, neste caso o html do boleto.
    Para integrar mais de um banco a sua aplicação vc precisava fazer um monte de remendos no script.

    Agora a partir da versão 1.0 Beta o script passou a ser uma biblioteca de verdade, pois a lógica fica totalmente separada da interface e a biblioteca pode ser atualizada sem quebrar a aplicação integradora, pois a biblioteca pode, e de fato deve, residir fora da aplicação principal.

    Grande abraço,

    Rafael Goulart (usuário não registrado) em 1/07/2011 às 8:42 am

    Olá,

    Concordo que não vale a pena reinventar a roda. E utilizei muito o PHPBoleto, depois o BoletoPHP, que tem um código estável. Mas ele não evoluiu com a linguagem – e realmente não implementou a orientação a objeto.

    Eu trabalho com o framework symfony, fiz uma implementação como BoletoPHP e não ficou legal. Então, para um outro projeto, fiz uma reescrita completa do código.

    Ele está no GitHub há algum tempo, mas eu acabei não divulgando muito. Minha abordagem é diferente do Francisco Luz, apesar de com o mesmo objetivo.

    1) Apesar de se chamar sfBoletoPlugin, ele pode ser utilizado autonomamente em outros projetos não-symfony

    2) Os templates foram completamente reescritos em XHTML+CSS e quebrados em arquivos menores reaproveitáveis. De modo geral, os layouts dos bancos são similares, então, não é preciso refazer os layouts, apenas alimentá-los.
    O boleto está tableless (em divs, não em table). O código gerado valida XHTML no W3C.
    Como os templates foram quebrados, foi possível montar layouts distintos:
    - Página (tradicional): http://symfony.rgou.net/boleto_demo/boleto
    - Carnê (“deitado”): http://symfony.rgou.net/boleto_demo/carne
    - Blocos de boletos: esta abordagem permite um recurso muito interessante – é possível gerar blocos de boletos (que são impressos em XHTML com quebra de página, sem necessidade de gerar um a um em páginas diferentes. Isto é automaticamente tratado, de modo que apenas um CSS é carregado, e os vários boletos ficam dentro do )
    E os templates são templates mesmo: arquivos HTML com placeholders.

    3) Mesmo código, bancos diferentes. A geração do boleto é com um factory, assim é possível mudar de banco simplesmente trocando a referência ao layout.

    Infelizmente, só fiz o layout do HSBC, que foi o que necessitei. Mas, como no projeto do post, é possível implementar outros.

    O que realmente acho um retrabalho e reinventar a roda é ter dois projetos com o mesmo foco. Neste caso, sugiro que a gente converse e junte as idéias (ou ao menos tentemos…)

    []‘s

    Rafael Goulart

    Rafael Goulart (usuário não registrado) em 1/07/2011 às 8:44 am

    Opa! Só faltou colocar o link do projeto:

    https://github.com/rafaelgou/sfBoletoPlugin

    []‘s

    Rafael Goulart

    Francisco Luz (usuário não registrado) em 1/07/2011 às 12:45 pm

    @Rafael Goulart
    Transferi a conversa para https://github.com/rafaelgou/sfBoletoPlugin/issues/1 em seu repositorio, assim se alguém mais quizer juntar-se a discussão todos são notificados.

    Abraço,

Este post é antigo (2011-06-30) e foi arquivado. O envio de novos comentários a este post já expirou.