Использовать пользовательскую библиотеку в контроллере Laravel - PullRequest
0 голосов
/ 17 декабря 2018

Я хотел использовать класс nusoap_client, поэтому решил добавить библиотеку nusoap в мой проект laravel.Как и другие библиотеки, я использовал страницу readme для 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');

Ответы [ 2 ]

0 голосов
/ 17 декабря 2018

Правильный синтаксис в верхней части вашего контроллера должен быть:

use nusoap_client;
0 голосов
/ 17 декабря 2018

Это происходит потому, что этот класс не содержит допустимого пространства имен.

Итак, вам нужно импортировать этот PHP-файл в ваш скрипт, используя функцию require.

Чтобы решить эту проблему в 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, базовый класс PHP, который предоставляет мыльный клиент.

Надеюсь, мой вклад может бытьполезно и мой английский понятен.

...