2017-04-25 6 views
0

エンティティの特定のフィールドを更新するWeb上の場所がいくつかあるとします。たとえば、ユーザーのパスワードを変更する場合、私は1つのルートを持ち、ユーザーの詳細を(どこから来たのかなど)別のものを変更するために使用します。どの練習が良いですか? form_row経由で特定のフォームフィールドをレンダリングするためのForm Typeクラスは1つだけですか?フォームビルダーでさまざまなオプションを持つ複数のフォームタイプクラスを使用する方がよいでしょうか?複数のフォームタイプクラスを持つよりも、1つのエンティティに対して1つのフォームタイプクラスしか持たないのですか?

答えて

1

あなたはシングルresponsabilityの原則に従うべきである、

https://en.wikipedia.org/wiki/Single_responsibility_principle

UserDetailsType、ChangePasswordType ...

すべてのクラス(この場合はフォームクラス)は、単一の目的のためのすべてを使用する必要がありますそれらはdata_classとしてエンティティを持つことができますが、特定の用途に使用します。

あなたはまったく同じことをやっているが、おそらくただ一つのフィールドは、あなたが親を設定した後

$builder->remove('field')

を行うことができます不足している2つのクラスを持っていますが、それは本当に特定なければならない場合には

ケース...