我想使用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');
答案 0 :(得分:1)
之所以发生这种情况,是因为此类不包含有效的名称空间。
因此,您需要使用require函数将此PHP文件导入脚本。
要在laravel中解决此问题,只需使用以下作曲家导入文件即可:
"autoload": {
"files": ["path/to/vendor/script"]
}
使用自动加载的文件,您可以在项目的任何脚本类中实例化该类。
但是,我认为这不是使用现代PHP的好方法。 我知道另一个可以使用SOAP的库:https://github.com/artisaninweb/laravel-soap
它是SoapClient http://php.net/manual/pt_BR/class.soapclient.php的包装,SoapClient是提供肥皂客户端的PHP核心类。
希望我的贡献是有用的,我的英语也可以理解。
答案 1 :(得分:1)
控制器顶部的正确语法应为:
use nusoap_client;