Ir para conteúdo
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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

 

 

Compartilhar este post


Link para o post
Compartilhar em outros 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';

 

Compartilhar este post


Link para o post
Compartilhar em outros 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.

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por 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?
    • Por 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.
    • Por 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
    • Por 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
    • Por 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.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.