/Test
composer.json
composer.lock
index.php
nfe.xml
vendor/
autoload.php
(more files)
我正在尝试在github上的图书馆README中找到的剪辑
<?php
require_once 'vendor/autoload.php';
// var_dump( get_declared_classes() );
echo 'a';
$nfeProc = NFePHPSerialize::xmlToObject(file_get_contents('nfe.xml'));
echo 'b';
//Capturando CNPJ do emitente
$cnpjEmitente = $nfeProc->getNFe()->getInfNFe()->getEmit()->getCNPJ();
echo $cnpjEmitente;
但是我收到以下错误:
PHP Fatal error: Class 'NFePHPSerialize' not found in /var/www/html/Test/index.php on line 7
PHP Stack trace:
PHP 1. {main}() /var/www/html/Test/index.php:0
最后,我已取消评论var_dump( get_declared_classes() );
只是为了知道库nfephp-serialize中的某些内容(用于税务目的)是否已加载,但我一无所获。
要初始化Test
目录,我发出了以下命令:
$ composer require jansenfelipe/nfephp-serialize
答案 0 :(得分:1)
缺少的是与NFePHPSerialize
类关联的路径。它是JansenFelipe\NFePHPSerialize
。
您可能希望use
类NFePHPSerialize
及其命名空间,如下所示:
<?php
require 'vendor/autoload.php';
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
或简单地写:
$nfeProc = JansenFelipe\NFePHPSerialize\NFePHPSerialize::xmlToObject(file_get_contents('nfe.xml'));
您可能希望在NFePHPSerialize
目录中搜索/vendor
类...并找到namespace
语句,即:
namespace JansenFelipe\NFePHPSerialize;
因此,该课程可以namespace\class
使用:
$var = new JansenFelipe\NFePHPSerialize\NFePHPSerialize(...);
但是您可以通过插入use
语句来改进这一点:
<?php
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
// some code...
$var = new NFePHPSerialize(...);
我希望这会对你有所帮助! :)