Symfony FileLoaderLoadException, но класс существует

Я использую Symfony 3 со вчерашнего дня, но у меня проблемы с автоматической проводкой.

По какой-то причине FileLoader не может найти мой класс, пока он существует.

В services.yml у меня есть следующее:

services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: true

    RideShare\Infrastructure\:
        resource: '../../src/RideShare/Infrastructure/*'

В папке src/RideShare/Infrastructure/EventStore/Doctrine есть файл DoctrineEventStore.php со следующим содержимым:

<?php

namespace RideShare\Infrastructure\EventStore\Doctrine;

use ...;

class DoctrineEventStore extends EntityRepository implements EventStore

Но когда я пытаюсь запустить php bin/console, я получаю следующее исключение:

Symfony\Component\Config\Exception\FileLoaderLoadException: 
Expected to find class "RideShare\Infrastructure\EventStore\Doctrine\DoctrineEventStore" in file "[....]src/RideShare/Infrastructure/EventStore/Doctrine/DoctrineEventStore.php" while importing services from resource 
"../../src/RideShare/Infrastructure/*", but it was not found! Check the namespace prefix used with the resource in [...]/app/config/services.yml (which is being imported from "[...]/app/config/config.yml"). in [...]/vendor/symfony/symfony/src/Symfony/Component/Config/Loader/FileLoader.php on line 179

Для того, что я вижу, это объявление правильное, я не вижу подобных вопросов в stackoverflow или в документации Symfony, и я понятия не имею, почему это терпит неудачу.

Полный код можно найти на Github.


person Marco Veenendaal    schedule 20.07.2017    source источник
comment
Вы пытались сбросить opcache php-cli?   -  person Wesley Abbenhuis    schedule 20.07.2017
comment
Я работаю в режиме CGI без opcache.   -  person Marco Veenendaal    schedule 20.07.2017


Ответы (1)


Проблема заключалась в том, что интерфейс EventStore имел неправильное пространство имен.

person Marco Veenendaal    schedule 20.07.2017
comment
@NiketPathak после некоторой дальнейшей отладки оказалось, что пространство имен EventStore было неправильным (поэтому реализован интерфейс DoctrineEventStore) - person Marco Veenendaal; 21.07.2017