Symfony FormBuilder の appendNormTransformer とは? appendClientTransformer と prependClientTransformer の代わりにいつこれを使用する必要がありますか?
1 に答える
Form.phpのクラス ドキュメント ブロックから抜粋:
To implement your own form fields, you need to have a thorough understanding
of the data flow within a form field. A form field stores its data in three
different representations:
(1) the format required by the form's object
(2) a normalized format for internal processing
(3) the format used for display
A date field, for example, may store a date as "Y-m-d" string (1) in the
object. To facilitate processing in the field, this value is normalized
to a DateTime object (2). In the HTML representation of your form, a
localized string (3) is presented to and modified by the user.
アプリ(1)
データ、(2)
正規化データ(3)
、クライアント データも同様です。
さて、あなたの質問については、どのデータを変換したいかによって異なります。(2)
が ( からに)変換する必要があるクライアント データである場合は、または(3)
を使用する必要があります。appendClientTransformer
prependClientTransformer
反対に、正規化されたデータを ( から(1)
に) 変更したい場合は、または(2)
を使用する必要があります。appendNormTransformer
prependNormTransformer
したがって、正規化トランスフォーマーは(1)
と(2)
( (1)
normalizeTransformer -> (2)
) の間に位置します。クライアント トランスフォーマーは と の間(2)
に位置します(3)
( (2)
clientTransformer -> (3)
)
また、Symfony 2.1 では、append および prepend メソッド ([append|prepend][Norm|Client]Transformer) が add メソッド (add[Norm|Client]Transformer) に置き換えられる可能性があることに注意してください。詳細については、GitHub のプルリクエストを参照してください。情報。
これが役に立てば幸いです、
マット