symfony3 - FormBuilder なしで symfony を使用することは可能ですか?
天蓬老师
天蓬老师 2017-05-16 16:43:53
0
4
479

フォームの場合、フロントエンドで設計されたページをネストに使用できますか?それとも FormBuilder のみを使用してフォームを作成できますか?自分で書いたページから投稿されたデータをどのように検証し、加工するのか?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全員に返信(4)
漂亮男人

フォーム作成にはFormBuilderを使った方が良い気がします

  1. CSRF攻撃を防ぐためのトークンがあります

  2. オブジェクトを組み合わせてデータを取得する方が便利です

  3. 認証がさらに便利になりました

初めて触ったときは、FormBuilder は少し面倒に感じるかもしれませんが、慣れると非常に使いやすいようです

いいねを押す +0
刘奇

実際、どのようなレイアウトが必要でも、カスタマイズしたり、フォームのテーマを変更したり、一部のフィールドをカスタマイズしたりすることができます。自分で作成した場合は、それを確認してください。自分自身!

いいねを押す +0
洪涛

最初の 2 つの質問に答えるために、フロントエンドで設計されたページを使用して非常に複雑なフォームを作成することはもちろん可能ですが、必ずしも FormBuilder が必要というわけではありません。

3 番目の質問、@xxfaxy は、自分で検証する必要があると言いました。私の意見では、Symfony は Validation コンポーネントを提供していますが、Validation を使用する場合、それは完全な自己検証ではないと思います。 Symfony 公式 Web サイトを参照し、ページの最後までスクロールして、「値と配列の検証」セクションを参照してください。

フレームワークは多くの機能を提供しますが、結局のところ、それらの機能は特殊な場合にはフレームワークに制限されない普遍的なものであると思います。

いいねを押す +0
迷茫

全然大丈夫です!

実際、あなたの質問の核心は投稿データ(配列タイプ)をエンティティ(エンティティタイプ)にマッピングする方法です。

Form は Entity オブジェクトと Request オブジェクトを抽象化したものです。つまり、Entity のユーザー名が Form コンポーネントによって抽象化された後の出力は、<input name="entityName[property]" /> のようになります。ここで、Property はエンティティのプロパティ (フィールド名) です。handleRequest 中に、フロントエンドによって送信された値はエンティティのプロパティ属性に自動的にマッピングされます。Form はエンティティをインタラクティブにするためのものであることがわかります。

それでは、Form コンポーネントを使用しない場合はどうなるでしょうか?

Symfony は、配列をエンティティにマッピングすることもできる Serializer コンポーネントも提供します:

フロントエンド ページ:

リーリー

あなたの組織:

リーリー

フォームをエンティティにマッピングします:

リーリー

フォームを使用するのと同じようにエンティティを認証します:

リーリー

参考: http://symfony.com/doc/current/components/serializer.html#deserializing-an-object

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート