1

新しい Symfony 4 スキーマを Flex でテストしていますが、Doctrine エンティティの作成中またはエンティティ エンティティの作成中に大きな問題が発生しています。

以前のバージョンの Symfony では、次のコマンドでエンティティを作成できました。

php bin/console doctrine:generate:entities

php bin/console doctrine:generate:entities App:MyBundle:MyEntity

このバージョン (新しい Flex スケルトンを備えた Symfony 3.3-dev) では、新しいフォルダー構造が古いバンドル構造を「削除」し、上記のコマンドを実行してエンティティを作成すると、次の./src/Entityようなエラーが返されます。

[RuntimeException] "App\Entity\ExampleEntity" のベース パスが見つかりません (パス: "/mnt/c/.../src/Entity"、宛先: "/mnt/c/.../src/Entity" 」)。

問題は、PSR-4 autoload ディレクティブではなく、パスに焦点を合わせてエンティティまたはエンティティ エンティティを生成する方法です。

前もって感謝します!!!

4

2 に答える 2

1

私も同じ問題を抱えていました。ここで別の解決策。

一時的に Doctrine\Bundle\DoctrineBundle\Mapping:getBasePathForClass を変更します

$namespace = str_replace('\\', '/', $namespace);

追加:

$namespace = str_replace('App/', '', $namespace);

エンティティは src/App/Entity/ に作成されます。コピペ後、src/Appを削除します。

于 2017-11-11T09:51:31.030 に答える