Используйте пользовательскую библиотеку в контроллере Laravel

Я хотел использовать класс 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');

person Mehran Zamani    schedule 17.12.2018    source источник


Ответы (2)


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

use nusoap_client;
person adam    schedule 17.12.2018

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

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

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

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

person Fábio Nunes    schedule 17.12.2018