次のシナリオを検討してください
と の 2 つのエンティティを含む単純なデータベースがuser
ありcategory
ます。
私たちの仮説では、user
a は型のみを持つことができcategory
、 aはncategory
に関連付けることができるとしましょう。 users
ここで、ユーザー テーブルを編集して別のテーブルに関連付けることができるWeb ページを考えてみましょuser
う。
私が知る限り (そして私は一般的に symfony にはまだ慣れていません)、Doctrine と symfony2 をタンデムで使用すると、たとえば、アノテーション メソッドを使用すると、2 つのエンティティ (php クラス) が作成されます。ROLE_ADMINISTRATOR
category
埋め込みフォーム
を表示するフォームを作成します。表示のuser
ために - そしてもちろん永続化します! - また、彼category
は「埋め込みフォーム」戦略に従うことを「選択」しました。
エンティティが作成されたと言ったので、フォームを作成する必要がありますcategory
(の属性formBuilder
のみを追加するとします)。
その後、以前のフォームを UserType クラスに追加する必要があり、「ある種の魔法」を使用すると、フォームは (適切な操作の後) 魔法としてレンダリングされ、魔法のようにレンダリングされます。など)すべての情報がデータベースに永続化されますid
category
formBuilder
データ トランスフォーマー
は、フォームの入力をオブジェクトに、またはその逆に変換します。
そのようにして、私は定義する必要があります-たとえば-CategorySelectorType
彼のビルダーに、それらの変換を行うクラス (サービス?) を追加します。次に、 (彼のメソッドなどを使用して)
を実装するデータ トランスフォーマー自体を定義します。次のステップでは、そのエンティティをサービスに登録し、このサービスを使用するフォームに
追加します。DataTransofmerInterface
UserType
したがって、これら2つの方法論の「強い」違いはわかりませんが、サービスの「再利用性」はわかりません。誰かが私に別の視点を提供し、違いを説明してくれませんか?