NFePHP como Vendor

229 views
Skip to first unread message

Alexandre Azevedo

unread,
Feb 21, 2013, 8:40:38 AM2/21/13
to cakep...@googlegroups.com
Bom Dia pessoal, alguém já usou o projeto NFePHP como um Vendor no cake?
Estou tentando usar a class de emissão do danfe em um controller e sempre tenho a mensagem de que a classe não foi encontrada.
Já usei os seguintes caminhos para chamar a class DanfeNFePHP
Segue eles:

// App::build(array('Vendor' => array(APP . 'Vendor' . DS . 'NFePHP' . DS . 'libs')));
// App::uses('DanfeNFePHP.class', 'Vendor');
// App::import('Vendor', 'NFePHP', array(
//         'file' => 'libs' . DS . 'DanfeNFePHP.classe.php'
// ));
// App::import('Vendor', 'NFePHP/libs/DanfeNFePHP.classe' );
App::import('Vendor', 'DanfeNFePHP.class', array('file' => 'NFePHP' . DS . 'libs' . DS . 'DanfeNFePHP.class.php'));

Alguém teria uma ideia de como eu chamar esse Vendor?


att,
Alexandre Azevedo
Bacharel em Sistema de Informação pela FIB
Analista Desenvolvedor Web Pleno

Contatos:
E-mail: alexandr...@gmail.com
msn:  alexandr...@hotmail.com
Skype: alexandreazevedo4
Tel: (71) 8738-6638 (tim) / 9662-4552 (vivo)
twitter: @_aaoliveira

Alexandre Azevedo

unread,
Feb 21, 2013, 9:14:28 AM2/21/13
to cakep...@googlegroups.com
Pessoal conseguir resolver o problema. O que faltava era dar permissão para o Apache.



att,
Alexandre Azevedo
Bacharel em Sistema de Informação pela FIB
Analista Desenvolvedor Web Pleno

Contatos:
E-mail: alexandr...@gmail.com
msn:  alexandr...@hotmail.com
Skype: alexandreazevedo4
Tel: (71) 8738-6638 (tim) / 9662-4552 (vivo)
twitter: @_aaoliveira


Luiz Henrique A. da Silva

unread,
Feb 21, 2013, 9:24:36 AM2/21/13
to cakep...@googlegroups.com
Reza a lenda que o ideal é você importar Vendors da seguinte forma, a partir da versão 2.x:

require_once APP . 'Vendor' . DS . 'nome_da_classe_biblioteca.php';

--
--
CakePHP Tuga (cakephp-pt)
 
Utilize http://bin.cakephp.org para códigos
Cookbook: http://book.cakephp.org
 
Website do CakePHP: http://cakephp.org/
Website do grupo: http://groups.google.com/group/cakephp-pt?hl=pt-PT
---
Recebeu esta mensagem porque está inscrito no grupo "CakePHP Tuga" dos Grupos do Google.
 
Para anular a subscrição deste grupo e parar de receber emails deste grupo, envie um email para cakephp-pt+...@googlegroups.com.
Para publicar uma mensagem neste grupo, envie um e-mail para cakep...@googlegroups.com.
Visite este grupo em http://groups.google.com/group/cakephp-pt?hl=pt-PT.
Para mais opções, consulte https://groups.google.com/groups/opt_out.
 
 

Alexandre Azevedo

unread,
Feb 21, 2013, 9:29:39 AM2/21/13
to cakep...@googlegroups.com
Vlw Luiz pelo dica.
Mais resolvi da seguinte forma:
1 - Criei uma class que herda da classe DanfeNFePHP dentro da pasta NFePHP/libs e salvei dentro das pasta Vendor.
2 - Usei o require para carregar a lib do Danfe:
Codigo: 
<?php

require_once(dirname(__FILE__).'/nfephp/libs/DanfeNFePHP.class.php');

class DanfeNFePHPWrapper extends DanfeNFePHP
{
}

3 - Chamei como App:Uses('DanfeNFePHPWrapper', 'Vendor'); dentro do meu controller;
4 - Criar o metodo e usar as rotinas para gerar o danfe;

Obs: no meu caso tive que dar permissão para o apache, pois o require não estava funcionando.




att,
Alexandre Azevedo
Bacharel em Sistema de Informação pela FIB
Analista Desenvolvedor Web Pleno

Contatos:
E-mail: alexandr...@gmail.com
msn:  alexandr...@hotmail.com
Skype: alexandreazevedo4
Tel: (71) 8738-6638 (tim) / 9662-4552 (vivo)
twitter: @_aaoliveira


Luiz Henrique A. da Silva

unread,
Feb 21, 2013, 9:32:48 AM2/21/13
to cakep...@googlegroups.com
Ótimo!

A única coisa que eu mudaria para evitar essa POG, é utilizar a constante APP do CakePHP.

ao invés de:

require_once(dirname(__FILE__).'/nfephp/libs/DanfeNFePHP.class.php');

eu usaria:

require_once APP . 'Vendor' . DS . 'nfephp' . DS . 'libs' . DS . 'DanfeNFePHP.class.php';

Alexandre Azevedo

unread,
Feb 21, 2013, 9:39:33 AM2/21/13
to cakep...@googlegroups.com
blz vlw pela dica mais uma vez.



att,
Alexandre Azevedo
Bacharel em Sistema de Informação pela FIB
Analista Desenvolvedor Web Pleno

Contatos:
E-mail: alexandr...@gmail.com
msn:  alexandr...@hotmail.com
Skype: alexandreazevedo4
Tel: (71) 8738-6638 (tim) / 9662-4552 (vivo)
twitter: @_aaoliveira


Vitor Pacheco

unread,
Feb 21, 2013, 11:42:38 AM2/21/13
to CakePHP
Luiz, onde você viu essa informação da importação dos vendors?

http://book.cakephp.org/2.0/en/core-utility-libraries/app.html#loading-vendor-files

Na documentação não tem isso...
Vitor Pacheco
Skype: vitor.pacheco.costa
Msn: vito...@hotmail.com
GTalk: vitor...@gmail.com
Cel.: 71 8626-7909
Tel.: 71 3378-5778 /
 71 3287-3475

Luiz Henrique A. da Silva

unread,
Feb 21, 2013, 11:48:22 AM2/21/13
to cakep...@googlegroups.com
https://github.com/lorenzo disse no Stack Overflow: http://stackoverflow.com/questions/8158129/loading-vendor-files-in-cakephp-2-0

"In 2.0, we actually encourage people to use require or require_once for their Vendor libraries. You can get the location of the Vendor folder using App::path('Vendor') or just APP . 'Vendor' . DS."

Vitor Pacheco

unread,
Feb 21, 2013, 12:13:22 PM2/21/13
to CakePHP

hmm..

Luiz Henrique A. da Silva

unread,
Feb 21, 2013, 1:06:45 PM2/21/13
to cakep...@googlegroups.com
Convencido? xD

Vitor Pacheco

unread,
Feb 21, 2013, 1:27:38 PM2/21/13
to CakePHP
kkkkkk calma, nunca duvidei.. Só queria saber onde você tinha visto isso, já que não tem na documentação e não tinha visto mais ninguém ter comentando algo assim.

Luiz Henrique A. da Silva

unread,
Feb 21, 2013, 1:30:36 PM2/21/13
to cakep...@googlegroups.com
Tudo bem, falei brincando. haha

2013/2/21 Vitor Pacheco <vitor...@gmail.com>
Reply all
Reply to author
Forward
0 new messages