Autor Tópico: [RESOLVIDO] - NFePHP com Composer  (Lida 1710 vezes)

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
[RESOLVIDO] - NFePHP com Composer
« Online: Janeiro 16, 2016, 12:31:11 pm »
Boa tarde a todos !

Gostaria de saber se alguém já está usando a nova versão do nfephp com o composer. Tentei realizar um include, mas não obtive sucesso.
Se por acaso alguém conseguiu e puder postar como isso foi feito, eu agradeço.
« Última modificação: Setembro 14, 2016, 03:58:55 pm por Ronyan Alves »

Haroldo

  • Expert
  • *****
  • Mensagens: 6275
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:NePHP com Composer
« Responder #1 Online: Janeiro 17, 2016, 09:13:47 pm »
Precisa instalar o com poder para funcionar.

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NePHP com Composer
« Responder #2 Online: Janeiro 17, 2016, 09:30:28 pm »
O composer foi instalado, mas o que acontece é que se utilizar o include  do arquivo autoload.php numa aplicação Blank ele dá um erro por causa do namespace.
« Última modificação: Janeiro 17, 2016, 09:46:58 pm por daves.vieira »

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NePHP com Composer
« Responder #3 Online: Janeiro 17, 2016, 09:59:55 pm »
Trecho do código:

Código: [Selecionar]
error_reporting(E_ALL);
ini_set('display_errors', 'On');
include "../../../../libs_composer/vendor/autoload.php";

use NFePHP\Extras\Danfe;
use NFePHP\Common\Files\FilesFolders;

O erro está acontecendo é esse : Parse error: syntax error, unexpected 'use' (T_USE) in /home/sisttema/public_html/scriptcase8/app/automacao/teste_composer/index.php on line 1045.

Quando fui pesquisar sobre o erro, verifiquei que o comando USE não pode ser usado dentro de um função.
Link da Resposta: http://pt.stackoverflow.com/questions/51014/erro-unexpected-use-t-use-ao-usar-autoload

Abri o arquivo pra verificar e vi que o código é incluído dentro de uma função chamada CONTROLE.

Se tivesse como fazer o include no topo desse arquivo, aí teria como fazer normalmente.

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:NePHP com Composer
« Responder #4 Online: Janeiro 18, 2016, 01:22:32 pm »
Já tentou colocar onfephp como uma biblioteca externa? Aí você não usa include direto usa a macro propria do SC e ele já faz o include no inicio da aplicação.

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NePHP com Composer
« Responder #5 Online: Janeiro 18, 2016, 03:26:06 pm »
Acabei de fazer isso e o problema continua.

Código: [Selecionar]
sc_include_library("sys", "nfephp_composer", "vendor/autoload.php", true, true);

use NFePHP\Extras\Danfe;
use NFePHP\Common\Files\FilesFolders;

O erro: Parse error: syntax error, unexpected 'use' (T_USE) in /home/sisttema/public_html/scriptcase8/app/automacao/teste_composer/index.php on line 1042.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:NFePHP com Composer
« Responder #6 Online: Janeiro 18, 2016, 04:12:59 pm »
Tire essas linhas

error_reporting(E_ALL);
ini_set('display_errors', 'On');

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NFePHP com Composer
« Responder #7 Online: Janeiro 18, 2016, 05:17:01 pm »
Rodrigo, as linhas foram só no primeiro exemplo. No segundo eu usei de acordo com o código abaixo
Código: [Selecionar]
sc_include_library("sys", "nfephp_composer", "vendor/autoload.php", true, true);

use NFePHP\Extras\Danfe;
use NFePHP\Common\Files\FilesFolders;

O grande problema é que o SC insere o código dentro de uma function chamada CONTROLE e não se pode usar o comando USE dentro de funções.

Veja esse link: http://pt.stackoverflow.com/questions/51014/erro-unexpected-use-t-use-ao-usar-autoload

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NFePHP com Composer
« Responder #8 Online: Janeiro 18, 2016, 05:19:08 pm »
De acordo com essa estrutura que vejo no código da página, não é possível utilizar NAMESPACES dentro do SC. E, se for isso mesmo, vai ser um problema.

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:NFePHP com Composer
« Responder #9 Online: Janeiro 19, 2016, 07:18:58 am »
Qual sua versão do PHP? Alguns scripts não funcionam com versão anterior a 5.4, tive um problema desse com uma autenticação do Facebook, não rodava em 5.4 apenas 5.4 >
Faz um outro teste, deixa esse autoload em um arquivo e no blank faz um include dele.

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NFePHP com Composer
« Responder #10 Online: Janeiro 19, 2016, 09:39:47 am »
Rodrigo, a versão do meu PHP é a 5.6. O problema parece ser a estrutura que o SC gera os arquivos. Vc tem alguma aplicação que faz uso de NAMESPACE ?

Rodrigo Goulart Padovezzi

  • Expert
  • *****
  • Mensagens: 1045
    • Email
Re:NFePHP com Composer
« Responder #11 Online: Janeiro 19, 2016, 10:34:14 am »
Tenho sim,
http://casamentonline.com.br/novo-cadastro/
Cadastro com Facebook

Usei da maneira que coloquei acima
Todos os códigos ficam em páginas fora do scriptcase e apenas chamo eles com include.

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NFePHP com Composer
« Responder #12 Online: Janeiro 19, 2016, 10:41:51 am »
Vou tentar usar dessa maneira e , se der certo, eu retorno o resultado.

FredKeyster

  • Expert
  • *****
  • Mensagens: 1702
  • DEWENNINMEN
    • Email
Re:NFePHP com Composer
« Responder #13 Online: Janeiro 19, 2016, 07:05:23 pm »
O composer só serve pra atualizar as bibliotecas necessárias para esse projeto. Sendo assim utilize apenas para baixar toda a estrutura do projeto NfePhp.

Em seguida use o projeto e esqueça o composer. Pois o mesmo só servirá quando tiver outra atualização na biblioteca NfePhp.
F. A.
Analista de Sistemas

Daves Vieira

  • Novato
  • *
  • Mensagens: 44
    • Email
Re:NFePHP com Composer
« Responder #14 Online: Janeiro 20, 2016, 02:30:27 pm »
Fred,

O problema não é o composer e sim o comando USE para utilizar NAMESPACE dentro de uma function no PHP. O que tem que ser feito é uma GAMBIARRA pra poder funcionar.