Jump to content
violin101

PHP - Ajuda com NFePhp - mistério em achar caminho

Recommended Posts

Caros amigos, saudações.

 

Peço desculpa em recorrer a ajuda dos amigos, pois está sendo um mistério para mim, configurar o meu sistema para Impressão de XML e NFe.

Quando acrescento as linhas no início do Controller:

use NFePHP\NFe\Make;

use NFePHP\NFe\Tools;

use NFePHP\NFe\Danfe;
etc, etc.

 

 e chamo a libraries assim em alguma função:  $nfe = new Make(); e etc. <== o sistema acusa que não consegue achar 

 

fiz as alterações necessárias no autoload

/*
|--------------------------------------------------------------------------
| Composer auto-loading
|--------------------------------------------------------------------------
|
| Enabling this setting will tell CodeIgniter to look for a Composer
| package auto-loader script in application/vendor/autoload.php.
|
|	$config['composer_autoload'] = TRUE;
|
| Or if you have your vendor/ directory located somewhere else, you
| can opt to set a specific path as well:
|
|	$config['composer_autoload'] = '/path/to/vendor/autoload.php';
|
| For more information about Composer, please visit http://getcomposer.org/
|
| Note: This will NOT disable or override the CodeIgniter-specific
|	autoloading (application/config/autoload.php)
*/
$config['composer_autoload'] = './vendor/autoload.php';

 

o meu composer.json está assim:

{
	"description": "The CodeIgniter framework",
	"name": "codeigniter/framework",
	"type": "project",
	"homepage": "https://codeigniter.com",
	"license": "MIT",
	"support": {
		"forum": "http://forum.codeigniter.com/",
		"wiki": "https://github.com/bcit-ci/CodeIgniter/wiki",
		"irc": "irc://irc.freenode.net/codeigniter",
		"source": "https://github.com/bcit-ci/CodeIgniter"
	},
	"require": {
	    "php": ">=5.3.7",
        "mpdf/mpdf": "^7.1",
        "nfephp-org/sped-nfe": "^5.0",
        "nfephp-org/sped-da": "^1.0"		
	},
	"suggest": {
		"paragonie/random_compat": "Provides better randomness in PHP 5.x"
	},
	"autoload": {
	    "psr-4": {
	          "Libraries\\": "application/libraries"
	    }
	}
	
}

 

após instalar a NFePhp através do composer, o caminho da pasta NFePhp está assim:
nome_do_meu_sistema
|____ application
|______vendor
|________nfephp-org
|__________sped-common
|__________sped-da

|__________sped-gtin

|__________sped-nfe

Como consigo trazer os comando/libraries da NFe para poder utilizar no projeto.

 

Grato,

 

Cesar

Share this post


Link to post
Share on other sites

No seu arquivo application/config/config.php, ajuste a configuração do Composer autoload para:
 

$config['composer_autoload'] = FCPATH . 'vendor/autoload.php';

Se você ainda tiver problemas, tente usar o nome completo

$nfe = new \NFePHP\NFe\Make();


Certifique-se de que o CodeIgniter está configurado para mostrar erros. No arquivo application/config/config.php, defina:

$config['log_threshold'] = 4;


E no index.php na raiz do projeto, certifique-se de que está definido para o ambiente de desenvolvimento:

define('ENVIRONMENT', 'development');


Se o problema persistir, tente adicionar isso no topo do seu controller, logo após a declaração da classe:

require_once FCPATH . 'vendor/autoload.php';


Verifique se as permissões de arquivo estão corretas e se o PHP tem acesso de leitura à pasta vendor.

Se ainda não funcionar, tente executar composer dump-autoload na raiz do projeto.

 

Se após essas tentativas você ainda estiver tendo problemas, por favor, forneça o erro exato que está recebendo. Isso nos ajudará a identificar melhor o problema.

 

 

Share this post


Link to post
Share on other sites

amigo Williams, saudações.

 

fiz todas as alterações/verificações, conforme sua orientação mencionada acima.

 

fiz esse exemplo para chamar a CLASS

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

require_once FCPATH . 'vendor/autoload.php';

use NFePHP\NFe\Make;
use NFePHP\DA\NFe\DanfeSimples;
use NFePHP\DA\NFe\Danfe;
use NFePHP\DA\NFe\Daevento;

class NotaFiscalControler extends CI_Controller {

	public function gerarXml(){
		try{

         $nfe = new Make();


		}catch(\Exception $e){
			session()->flash('erro', $e->getMessage());
			return redirect()->back();
		}
		
	}

}

 

 

aparece esse erro:

An uncaught Exception was encountered
Type: Error

Message: Class 'NFePHP\NFe\Make' not found

Filename: C:\xampp\htdocs\sistems\application\controllers\Estoque\NotaFiscalControler.php

Line Number: 16

Backtrace:

File: C:\xampp\htdocs\sistems\index.php
Line: 315
Function: require_once

observação:
na linha 16 está assim: $nfe = new Make();

 

 

 

no index.php o ambiente de desenvolvimento, está assim:

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

 

e na linha 315 do index.php raiz está assim:

Linha | Comandos
308 - /*
309 - * --------------------------------------------------------------------
310 -  * LOAD THE BOOTSTRAP FILE
311 -  * --------------------------------------------------------------------
312 -  *
313 -  * And away we go...
314 -  */
315 - require_once BASEPATH.'core/CodeIgniter.php';

 

Share this post


Link to post
Share on other sites

Amigo Williams, saudações. 

 

Fiz a instalação da Nfephp, através deste comando.

composer require nfephp-org/sped-nfe
composer require nfephp-org/sped-da

 

Instalou todas as classes é isso que não entendo.

Ou vou precisar retirar o que instalou e refazer tudo outra vez.

 

É um mistério que não entendo.

 

 

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Carcleo
      Estou começando no Laravel 11 e me deparei com um problema de belongsTo
       
      public function listOfClass(Request $request, StudentDisciplineClassroom $sdc) : ?string {         $all = $sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();     dd($all->toArray());     $students = [];     foreach ($all as $student) {             $students[] =$student;     }       return response()->json($students)->getContent();     } isso

      Em studentRelation temos na tabela StudentDisciplineClassroom com os campos

      id(chave primaria)
      ra (chave estrangera que referencia o campo academic_registration na tabela de students)

      e a tabela student tem os campos

      id (chave primária)
      academic_registration (que vai ser refeenciada na tabela StudentDisciplineClassroom

      Mas na hora de fazer
      $sdc::select('student')->with('studentRelation')->where('classroom',$request->classroom)->distinct('student')->get();
      O studentRelation retorna nulo

      Onde eu posso estar errando?
    • By joao b silva
      Tenho uma pequena aplicação em php que gera arquivos pdf com a MPDF e envia email com a PHPMAILER. De repente a app parou de enviar os emails  e apresenta a seguinte mensagem de erro:
       
      Error PHPMailer: SMTP Error: Could not authenticate.
       
      Faço uso de um hotmail para a configuração do PHPMAILER.
    • By violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos.
       
      Quando programava em DOS. utilizava algumas teclas de atalho para: SALVAR / EDITAR / EXCLUIR / IMPRIMIR.
      Por exemplo:
      Salvar ----> ALT+S
      Editar ----> ALT+E
      Excluir --> ALT+X
      Imprimir -> ALT+I

      no PHP tem como colocar esses ATALHOS nos button, para o usuário trabalhar com esses atalhos e como seria ?

      grato,
       
      Cesar
    • By violin101
      Caros Amigos, saudações.
       
      Por favor, me perdoa em postar uma dúvida.
       
      Preciso criar uma Rotina onde o usuário possa buscar na Base de Dados de Produtos, tanto por Código e Descrição, ou seja:
      - caso o usuário digita o Código, mostra os dados do Produto.
      - caso o usuário digita a Descrição, mostra os dados do Produto
       
      Fiz uma Rotina, onde o usuário digita a DESCRIÇÃO com a função AUTOCOMPLETE.    <=== está funcionando certinho.
       
      Minha dúvida é como faço para DIGITAR o Código e mostrar os dados também.
       
      o meu AutoComplete na MODEL está assim.
      public function autoCompleteProduto($q){ $this->db->select('*' ) ->from('produtos') ->where('produtos.statusProd',1) ->like('descricao', $q) ->limit(5) ->order_by('descricao', 'ASC'); $query = $this->db->get(); if ($query->num_rows() > 0) { foreach ($query->result_array() as $row) { $row_set[] = ['label' => str_pad($row['idProdutos'], '5', '0', STR_PAD_LEFT).' - '.$row['descricao'], 'id' => $row['idProdutos'], 'descricao' => $row['descricao'], 'cod_interno' => $row['cod_interno'], 'prd_unid' => $row['prd_unid'], 'estoque_atual' => $row['estoque_atual'] ]; } echo json_encode($row_set); } }  
       
      no CONTROLLER está assim:
      public function autoCompleteProduto() { $this->load->model('estoque/lancamentos_model'); if (isset($_GET['term'])) { $q = strtolower($_GET['term']); $this->lancamentos_model->autoCompleteProduto($q); } }  
       
      na VIEW está assim:
      <div class="col-md-10"> <label for="idProdutos">Produto:</label> <input type="hidden" name="idProdutos" id="idProdutos"> <input type="text" class="form-control" id="descricao" name="descricao" style="font-size:15px; font-weight:bold;" placeholder="Pesquisar por descrição do produto" disabled> </div>  
      VIEW + JAVASCRIPT
       
      //Função para trazer os Dados pelo o AutoComplete. function resolveAutocomplete() { $("#descricao").autocomplete({ source: "<?php echo base_url(); ?>estoque/lancamentos/autoCompleteProduto/", minLength: 2, select: function (event, ui) { $("#idProdutos").val(ui.item.id); $("#cod_interno").val(ui.item.cod_interno); $("#descricao").val(ui.item.descricao); $("#prd_unid").val(ui.item.prd_unid); $("#estoque_atual").val(ui.item.estoque_atual); $("#qtde").focus(); } }); } // inicia o autocomplete resolveAutocomplete();  
      Grato,
       
      Cesar
    • By belann
      Olá!
       
      Estou tentando criar um projeto laravel e está dando o seguinte erro 
      curl error 60 while downloading https://getcomposer.org/versions: SSL certificate problem: unable to get local issu
        er certificate
      Já tentei atualizar o composer, mas dá o mesmo erro acima.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.