1

1 つのアプリケーション専用ではなく、より一般的な用途 (ChatBundle など) を考えたバンドルを作成する場合、もちろん多くの場合 (チャット)。

1 つのアプリケーションでのみ使用されるバンドルでは、次のようにメイン バンドルへの参照をハード コードするだけです。

<?php
namespace Acme\ChatBundle\Entity;

/**
 * @ORM\Entity
 */
class Message
{
    /**
     * @ORM\ManyToOne(targetEntity="Acme\ProjectBundle\User")
     */
    private $user;
...

しかし、generict バンドルでは、これは不可能です。開発者がすべてのエンティティを自分で実装できるようにする唯一の方法はありますか? ベストプラクティスはありますか? 他のバンドルのコードを除いて、そのトピックに関するドキュメントやブログ投稿を見つけることができませんでした (ただし、それらのほとんどは非常に複雑で抽象化されているため、主要な問題を把握するのは困難です)。

4

1 に答える 1

1

ここでの最善の解決策は、 Doctrine の TargetEntityListenerを使用することだと思います

于 2012-12-08T18:10:31.900 に答える