Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Outras dúvidas....relatorios em PDF e codificação.

Boa tarde a todos, tudo bem?

Estou estudando php com o objetivo de migrar alguns sistemas que tenho.....nesse meio tempo apareceu algumas dúvidas.

1° É sobre gerar relatórios. Eu preciso gerar relatórios e eles tem que ser feitos em PDF. Infelizmente esses relatórios tem que ficar parecidos com os antigos. Já procurei na internet e achei algumas soluções. Exemplos:

https://imasters.com.br/artigo/15736/php/usando-o-ireport-como-gerador-de-relatorios-para-php/?trace=1519021197&source=single

https://github.com/barryvdh/laravel-snappy

Alguem poderia por favor me indicar outras soluções? Eu preciso com urgencia migrar esses sistemas. Gostaria de algo tranquilo para trabalhar (ireport com java achei muito facil).

2° Problema com codificação. Estudando eu criei duas tabelas (estado e cidade) e fiz dois combobox para exibir. Percebi que esta aparecendo algumas imagens estranhas. Creio que armazenei no mysql em utf8 e estou exibindo em ascii. Como arrumar?

3° Qual framework utilizar? A grande maioria dos meus sitemas são gerencias (inclusive pensei em fazer em c# mas acabei achando mais interessante o php) Gostaria de utilizar um framework para me ajudar nessas migração para não ficar perdendo tempo com coisas simples (muitos sistemas que eu tenho são cadastros, contas a pagar, receber). Eu li varias coisas sobre o laravel porem, assistindo o curso dele fiquei com medo. Tive alguns problemas (diferenção de versao do php e do proprio laravel..não é critica, é preucupação, estou atrasado) e até onde eu assisti não vi grande diferença de produtividade. Voces indicam o zend, o cake, laravel, adianti?

Obrigado pela atenção.

Att. Vinicius

2 respostas
solução!

Bom dia Vinicius, tudo bom?

Eu preciso com urgencia migrar esses sistemas. Gostaria de algo tranquilo para trabalhar (ireport com java achei muito facil).

Esse tipo de ferramenta, tanto para PDF quanto para relatórios, em java sempre vai ser mais facil de encontrar mesmo. Principalmente pela comunidade java ser muito mais abrangente e ter muito mais tempo do que a comunidade PHP, você vai encontrar essas ferramentas com muito mais facilidade e até mais estaveis.

Uma abordagem que você poderia seguir para ter mais flexibilidade na geração dos seus relatórios, seria gerar eles em HTML com a estilização em CSS e depois converter para pdf. Em php a única ferramenta que eu vi até hoje que converte html para pdf é o wkhtmltopdf. Em java, como eu ja disse, possivelmente você encontraria ferramentas muito mais robustas nesse mesmo contexto.


Creio que armazenei no mysql em utf8 e estou exibindo em ascii. Como arrumar?

Quanto à isso, a conversão pode ser feita no nivel da aplicação back-end, caso você use php tem a função iconv .

E pode ser convertido no proprio banco.

Convertendo pelo banco, você pode utilizar a mesma abordagem desse tutorial aqui e criar uma outra base com outro formato e re-importar os dados por dump. Ou, você pode tentar a função para converção:

convert(cast(convert(nome using  latin1) as binary) using utf8)

Qual framework utilizar?

Essa pergunta acho que é a mais dificil haha. Esse tipo de coisa é bastante pessoal. Eu, particularmente, trabalhei bastante com o symfony. A documentação é muito boa (de verdade) e bem didatica. Eles sempre tem exemplos de códigos na doc o que torna o framework bem fácil de dominar caso você ja tenha tido contato com outros frameworks MVC.

O projeto é mantido por uma empresa e isso tem trazido bastante confiança pro symfony no mercado. Além disso, ele trabalha com otimos componentes como o Doctrine que segue a especificação da JPA do java. Para fazer CRUD alguns comandos ajudam muito, como o php bin/console generate:doctrine:crud AppBundle:NomeDaEntidade que ja te traz o controller, as views e o repositorio da entidade prontos!

O proprio laravel também é uma boa opção, por estabilidade e aceitação do mercado. Ele realmente não está com uma compatibilidade boa com a ultima versão da linguagem. Mas, o que entrou na ultima versão mesmo, além de alguns operadores e algumas funções foi a tipagem de parametros e retorno dos métodos que poucos frameworks na linguagem suportam até o momento.

Espero ter ajudado de alguma forma =)

Abraço e bons estudos!

Obrigado André !!!