0

Symfony 2 からプロジェクトを作成しましたが、問題があります: プロジェクトにマルチバンドル (例: AdminBundle と FontEndBundle) があります。

  1. ケース 1: Doctrine orm と Entities が FrontEndBundle で生成され、次に AdminBundle から、それを介しFrontEndBundle:Objectて Entity を呼び出します。
  2. ケース 2: 次の構造を構成したい

    ソース/プロジェクト/

    • モデル/エンティティ
    • OrmYml/ドクトリン/orm
    • バンドル (FontEndBundle と AdminBundle を含む)
    • 拡張機能

src/Model/Entityケース 2 では、ディレクトリにエンティティを生成するようにエンティティ マッピングを構成するにはどうすればよいですか? Command: を使用するとdoctrine:generate:entities Project/Model/Entity

エラー: 名前空間 "Project\Model\Entity" にはマップされたエンティティが含まれていません。

4

2 に答える 2

0

エンティティをどのように宣言しますか?エンティティをバンドル内に配置する必要があります。それらをバンドルの外に置くことはできません。

于 2012-08-10T12:53:47.490 に答える
0

通常、Symfony の開発者は「CoreBundle」と呼ばれる 3 番目のバンドル (たとえば) を作成します。このバンドルには、エンティティ、いくつかのサービス (twig 拡張など)、config (service.xml/yml を使用)、および 3 つのバンドルの間にすべての共有リソースを配置します。 ... また、このバンドル内のコントローラーとビューのディレクトリを削除することもできますが、これらは役に立たないものです (CoreBundle コントローラー インジェクションを削除して app/config/routing.yml ファイルを消去することを忘れないでください) !

次に、適切なバンドルでエンティティを呼び出すだけです。

use MyName\Bundle\CoreBundle\Entity\MyEntity;

バンドルされていないモデル レパートリーを作成しないでください。これは Symfony の哲学ではなく、あなたは本当に間違っています!

于 2012-08-10T23:22:38.827 に答える