@siarheipashkevich
developer

Почему не находит класс из библиотеки при написании пакета (обёртки) для Laravel 5?

Доброго времени!

Пытаюсь написать пакет-обёртку для Laravel 5 на begateway-api-php библиотеку.
Создал дефолтную структуру для пакетов и всё настроил. Но в классе обёртке не подключается оригальный пакет из библиотеки..пишет Class not found и я не могу понять почему так происходит. Выполнял команду 'composer dumpautoload' чисто и с флагом '--optimize' - вижу что в автолодере неймспейсы подгрузились, но класс так и не находит.

Вот структура создаваемого пакета:
vAWXd8Jf1M6E6r.png
Вот composer.json файл из пакета:
Y2L6ba3S9jdGbr.png
Вот оригинальный composer.json файл проекта где идёт подключение пакета:
e62ab82cf4.png
Сам пакет инициализируется и подключается успешно в проект, но вот как только доходит до создания класса из подключаемой библиотеки begateway/begateway-api-php в пакете, то падает ошибка, что класс не найден.

Ниже сам класс обёртка в которой и происходит ошибка:
KAgZNVxS4L9kM2.png
А вот и сама ошибка:
ZrJQbKaT9j6ZBA.png

Может кто-нибудь сталкивался с такой проблемой и знает как её решить?
Готов предоставить дополнительную информацию, если нужна будет, для выяснения и разбора проблемы.

Такая же проблема и с другой подключаемой библиотекой, например Bugherd.

Буду очень благодарен за советы и помощь!
  • Вопрос задан
  • 812 просмотров
Пригласить эксперта
Ответы на вопрос 4
Maksclub
@Maksclub
maksfedorov.ru
А композер подтянул зависимости? То есть в папке vendor есть класс в папке и сама папка /vendor/begateway/ ?
Вы походу этот свой пакет ставили не через композер и зависимости (begateway/begateway-api-php) не подтянули для него, на его физическое отсутствие и ругается программа

  • Либо добавьте зависмость в корневой composer.json composer require begateway/begateway-api-php:^4.0
  • Либо ставьте нормально свое решение через композер


Такая же проблема и с другой подключаемой библиотекой, например Bugherd.

Аналогично, если видите, что не найден класс -- идите и смотрите -- есть ли этот класс :) Ваш КЭП :)
Ответ написан
Это решит проблему
composer dump-autoload
Ответ написан
Astatroth
@Astatroth
Я тут случайно
Судя по скрину, у вас нет самого класса в src.
Ответ написан
Комментировать
SS_Andrey
@SS_Andrey
Понимаю, что поздно, может кому поможет.
Возможно был обновлён только один композер. По хорошему их надо обновить два.
#cd "директория с композером пакета"
#composer dump-autoload
и
#cd "директория с композером проекта"
#composer dump-autoload
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы