0

我想使用 nusoap_client 类,所以决定将nusoap库添加到我的 laravel 项目中。像其他库一样,我使用 github 自述文件页面来完成它。

composer require econea/nusoap:^0.9.6

此库已添加到../vendor/econea/nusoap/src/nusoap.php. 然后我想在我的控制器中使用它,但我尝试了很多方法来使用它,如下所示:

use SoapClient;
use vendor\econea\nusoap\src\nusoap.php;
use nusoap.php;
use nusoap;

我什至尝试在composer.json文件中自动加载库,但没有任何运气。laravel 不断重复同样的错误。

找不到类“App\Http\Controllers\nusoap_client”

我感谢任何建议在我的代码中使用 nusoap_client 的方法或在我的 laravel 项目中使用库的正确方法的任何帮助。谢谢。

我的代码:

$client = new nusoap_client('example.com/api/v1', 'wsdl');
4

2 回答 2

2

控制器顶部的正确语法应该是:

use nusoap_client;
于 2018-12-17T18:19:48.477 回答
1

发生这种情况是因为此类不包含有效的命名空间。

因此,您需要使用 require 函数将此 PHP 文件导入到您的脚本中。

要在 laravel 中解决这个问题,只需使用 composer 导入您的文件,例如:

"autoload": {
    "files": ["path/to/vendor/script"]
}

使用自动加载的文件,您可以在项目的任何脚本类中实例化该类。

但是,我认为这不是使用现代 PHP 的好方法。我知道另一个使用 SOAP 的库:https ://github.com/artisaninweb/laravel-soap

它是 SoapClient http://php.net/manual/pt_BR/class.soapclient.php的包装器,这是一个提供soap 客户端的PHP 核心类。

希望我的贡献有用,我的英语可以理解。

于 2018-12-17T18:19:47.410 回答