stavarengo / php-sigep

PHP client library for the Brazilian Post Office Web Service. Integração com Web Service do Correios. Consulta preços e prazos, imprime etiquetas e PLP, etc.
https://phpsigep.stavarengo.me
MIT License
363 stars 250 forks source link

Exception ao gerar etiqueta para postagem Sedex 10 (40215) #375

Closed rdvetromilla closed 5 years ago

rdvetromilla commented 5 years ago

Boa tarde, alguém mais está tendo problemas pra gerar etiquetas Sedex 10 (Código 40215) ?

Meu PHP cospe o seguinte exception:

Parse error: syntax error, unexpected ';', expecting ')' in /vendor/stavarengo/php-sigep/src/PhpSigep/Pdf/Script/CircularText.php on line 18

A linha mencionada contém o seguinte trecho de código:

for ($i = 0; $iMax = strlen($text); $i < $iMax; $i++) {

Que poderia ser modificada para:

for ($i = 0; $i < strlen($text); $i++) {

A linha 37 também possui o mesmo trecho.

Estou usando PHP 7.0, instalação foi feita via composer (stavarengo/php-sigep-fpdf e stavarengo/php-sigep branchs master). A geração de etiqueta foi feita usando os arquivos de exemplo.

O mais estranho é que o problema não ocorre no site de demonstração do projeto.

Uma dúvida fora da issue. A lista de serviços de postagens utilizada no site de demonostração é bem menor do que a lista de serviços contidas em \PhpSigep\Model\ServicoDePostagem.

Depende do contrato com os correios ou existe algum outro motivo?

andersonls commented 5 years ago

@rblaurin Pode verificar? Pelo visto esse erro está sendo causado pelos seus últimos PR #373 e #374

rdvetromilla commented 5 years ago

Addendum: Ao utilizar a chancela sedex-2016 \PhpSigep\Pdf\CartaoDePostagem::TYPE_CHANCELA_SEDEX_2016, o problema não ocorre.

Utilizar a chancela sedex (\PhpSigep\Pdf\CartaoDePostagem::TYPE_CHANCELA_SEDEX) o problema está sempre ocorrendo.

andersonls commented 5 years ago

@rdvetromilla Respondendo a sua dúvida: alguns serviços são exclusivos para certos tipos de contratos. No caso do site de demonstração, acho que o @stavarengo optou por somente colocar os mais comuns.

rdvetromilla commented 5 years ago

Entendido, obrigado @andersonls

rdvetromilla commented 5 years ago

Pessoal vou fechar a issue pois utilizar a chancela mencionada resolve a situação perfeitamente.