2016-09-20 2 views
2

は、私の知る限りでは、それはsymfonyの& Doctrine2/wはまだ不可能です。これが私の最初の考えを確認した:外部からのバンドルをSymfony/Doctrine 2で拡張しますか?あなたがそれらの間の依存関係を作成したり、相続の任意のオブジェクト指向の概念を使用せずに、別のバンドルからバンドルを拡張したい場合

「によりDoctrineが動作する方法に、バンドルのエンティティのマッピングを上書きすることはできません。」 (ソース:http://symfony.com/doc/current/bundles/override.html#entities-entity-mapping

唯一の既存の方法は、私に満足感を与えていない:SuperMappedClassesを使用して...私が欲しいもの

は、例えば、次のとおりです。

  1. は1で、スタンドアロンのバンドル内の連絡先を持ちます「魔法」ShowMapperで連絡先:: $ emailMessagesプロパティ+ゲッター/セッター+小枝テンプレートを追加する手(CRMBundle)
  2. は、他の(EmailBundle)の他、スタンドアロンのバンドルでEmailMessagesを持つ
  3. (もし私が連絡先/ CRMBundleと同時にEmailBundleがApp内に存在する場合は、DatagridMapper/FormMapperのフィールド)を追加します。
  4. 瞬間のために反対側(電子メール)

で同じことsymfony公式サイトのドキュメントが言うように、それは可能ていないようです。 誰でもこの時点で「最新技術」を確認できますか?

実際に我々はここで、この上で作業している、と私たちはその点で皆のための新しい、面白い何かに触れしようとしていると思います...しかし、私は、私たちはのために必要とせずに、この問題に取り組むためにしたくありません。事前に

おかげで、

答えて

1

は基本的に、あなたはいくつかの「ダイナミック」プロパティを作成します。これを行う方法はありません。 IMO、EmailMessagesと連絡先のいずれかが分離されているエンティティは、その後、彼らは2つの異なるバンドルにあり、(あなたはまだ一から別のクエリを実行するためのキーとして電子メールアドレスを使用することができます)お互いを知らない、どちらか彼らはありませんとしています同じ「集合体」の一部。

+0

答えてくれてありがとう...私たちは不可能であると思われるもの実行する方法を見つけることができることをかなり確信しています。私たちはそれに取り組み、何かをしてから成功すれば、コミュニティのために何かを書いて(可能であれば)コードを公開します。 –

+0

IMO問題は技術的なものではありません。もちろん、方法はありますが、モデル化についてです。あなたはモデルか別のものを持っていますが、動的/魔法の何かが良いとは言えません。 – romaricdrigon

+0

なぜそれはいいとは思いませんか? それは、拡張ジェネリックと同時にスタンドアロンのものを設計することができ、それは「簡単に拡張パターン」を提供します... その場でそれを拡張するためにそのバンドル外からエンティティの定義へのアクセスを取得するので便利です。 –

関連する問題