调用 Composer 自动加载但未加载任何内容
Composer autoload is called but loaded nothing
项目结构
/Test
composer.json
composer.lock
index.php
nfe.xml
vendor/
autoload.php
(more files)
PHP代码
我正在尝试在 github
上的图书馆自述文件中找到的片段
<?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
如何解决?
缺少的是与 NFePHPSerialize
class 关联的路径。是JansenFelipe\NFePHPSerialize
.
您可能想要 use
class NFePHPSerialize
及其命名空间,如下所示:
<?php
require 'vendor/autoload.php';
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
或简单地写:
$nfeProc = JansenFelipe\NFePHPSerialize\NFePHPSerialize::xmlToObject(file_get_contents('nfe.xml'));
我是如何找到命名空间的?
您可能要在 /vendor
目录中搜索 NFePHPSerialize
class... 并找到 namespace
语句,即:
namespace JansenFelipe\NFePHPSerialize;
因此,class 可与 namespace\class
一起使用:
$var = new JansenFelipe\NFePHPSerialize\NFePHPSerialize(...);
但是您可以通过插入 use
语句来改善这一点:
<?php
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
// some code...
$var = new NFePHPSerialize(...);
希望对您有所帮助! :)
项目结构
/Test
composer.json
composer.lock
index.php
nfe.xml
vendor/
autoload.php
(more files)
PHP代码
我正在尝试在 github
上的图书馆自述文件中找到的片段<?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
如何解决?
缺少的是与 NFePHPSerialize
class 关联的路径。是JansenFelipe\NFePHPSerialize
.
您可能想要 use
class NFePHPSerialize
及其命名空间,如下所示:
<?php
require 'vendor/autoload.php';
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
或简单地写:
$nfeProc = JansenFelipe\NFePHPSerialize\NFePHPSerialize::xmlToObject(file_get_contents('nfe.xml'));
我是如何找到命名空间的?
您可能要在 /vendor
目录中搜索 NFePHPSerialize
class... 并找到 namespace
语句,即:
namespace JansenFelipe\NFePHPSerialize;
因此,class 可与 namespace\class
一起使用:
$var = new JansenFelipe\NFePHPSerialize\NFePHPSerialize(...);
但是您可以通过插入 use
语句来改善这一点:
<?php
use JansenFelipe\NFePHPSerialize\NFePHPSerialize;
// some code...
$var = new NFePHPSerialize(...);
希望对您有所帮助! :)