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
Спасибо за помощь всем, ура