1

昨日から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にあります。

4

1 に答える 1