Как побороть ошибку с namespace в symfony 4?

Добрый день, установил библиотеку longman/telegram-bot, с базовыми командами получается работать, но когда создаю свою папку со своими командами в доках сказано что у моих команд должно быть пространство имен
namespace Longman\TelegramBot\Commands\UserCommands;

но когда я прописываю это пространство имен то я получаю ошибку
Expected to find class "App\Social\TelegramCommands\TestCommand" in file "/var/www/test.com/src/Social/TelegramCommands/TestCommand.php" while importing services from resource "../src/*", but it was not found! Check the namespace prefix used with the resource in /var/www/test.com/config/services.yaml (which is loaded in resource "/var/www/test.com/config/services.yaml").

как ее побороть? Я так полагаю мне надо что то сделать в service.yaml, если что я его еще не трогал и он у меня как при установке был такой и остался.
  • Вопрос задан
  • 1054 просмотра
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Кладите эти комманды в отельную папку (не src) и пропишите в composer.json для них соответствующий неймспейс в секции autoload. Но по факту в итоге у вас не получится интегрировать эту библиотеку с symfony (точнее получится, но это будут костыли), т.к. невозможно пробросить свои зависимости в конструктор
"autoload": {
    "psr-4": { "Longman\\TelegramBot\\Commands\\": "commands/" }
},
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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