Composer не может найти класс из хранилища в каталоге поставщика

Я не могу решить проблему с загрузкой класса в моем приложении Symfony. Ядро приложения находится в отдельном репозитории gitlab, загружаемом как зависимость в composer.

Этот пакет находится в:

  • ProjectRoot / продавец / сотрудник /*

composer.json для этого пакет находится под:

  • ProjectRoot / продавец / сотрудник / сотрудник домена /composer.json

composer.json содержание:

{
  "name": "officer/officer-domain",
  "autoload": {
    "psr-4": {"Officer\\": "src"}
  }
}

При попытке загрузить EventDispatcherInterface из пространства имен Officer\Infrastructure\EventDispatcher:

Попытка загрузить интерфейс "EventDispatcherInterface" из пространства имен "Officer\Infrastructure\EventDispatcher".
Вы забыли выражение "использовать", например, для "Symfony\Contracts\EventDispatcher\EventDispatcherInterface" или "Symfony\Component\EventDispatcher\EventDispatcherInterface"?

EventDispatcherInterface находится в:

  • ProjectRoot / продавец / сотрудник / сотрудник домена / SRC / Инфраструктура /EventDispatcher/EventDispatcherInterface.php

В течение двух дней мне не удавалось увидеть какие-либо опечатки в структуре каталогов, PhpStorm правильно видит файлы и намекает на них, возможно, мне следует определить что-то в services yaml в моем приложении, чтобы указать Officer / namespace, но я не смог этого сделать.

Любая помощь будет оценена, ура:)

Я посмотрел на похожие вопросы, но не нашел никакого ответа, если кто-то укажет мне на дублированный вопрос с решением проблем, я с радостью закрою этот вопрос:)

ОБНОВЛЕНИЕ: я решил проблему. У меня были классы в App\ namespace, которые реализуют интерфейсы из Officer\ package. Symfony не смог автоматически подключить это, и мне пришлось добавить сопоставление для них в services.yaml

Спасибо за помощь всем, ура

0 ответов

Другие вопросы по тегам