タイトル通り、フレームワークのフォームヘルパーを使うメリットがよくわからないです。
使ってもそこまで短くなるわけでもないですし、可読性が良くなるとも言えません。
また、フレームワークの機能を使うのでHTML直書きよりは幾分か動作に時間がかかるはずです。
それなのにフォームヘルパーが使われるのはなぜでしょうか。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答5件
0
ベストアンサー
自分はCodeIgniterというフレームワークを使うことが多いですが、フォームヘルパーを使うことで、
<select>
のようなややこしいコントロールも、連想配列一発で生成できる- CSRF対策などを自動で行ってくれる(ことがある)
- 入力エラー時の再入力に対応しやすい
などのメリットがあると感じています。もちろん、Ajaxで使うだけの単純なコントロールなら、直書きでも充分だとは思います(速度に関しては、通常は文字列を生成するだけなので一瞬ですし、ほかで高速化を考えるほうがずっと意味があるでしょう)。
投稿2014/11/26 01:25
総合スコア145184
0
ValidなHTMLを出力できることやフレームワークの流儀に従うことによる省力化も1つの理由ですが、
一番の理由はCSRF対策だと思います。
フレームワークの機能でCSRFトークンの出力のみを行い、
他はHTMLやPHPで独自に書くという方式を採用する例も聞いたことがあります。
個人的にはHTMLタグの出力を支援するヘルパーはむしろ使わないほうが可読性が高いと考えていますが、
Laravelに限らず、フォームは素直にフレームワークの提供するものを利用します。
CSRFだけでなくフォームの改ざんチェックをデフォルトで提供するフレームワークもありますしね。
投稿2014/12/20 15:40
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
フレームワークにもよりますが、フォームヘルパを使うことによって
データベースから取得したデータをそのまま出力、入力されたデータをそのまま
データベースへの登録などができるような設計になっています。
また、例えばプロフィール入力などの機能を作る際に、
都道府県や職業のプルダウンなどを直接記述するのが面倒だったり、
それが複数箇所で使われていた場合、職業追加をしたくとも
全部の箇所を修正しなければいけないなど、手間も多く事故の元になると思います。
そういった要件が予想される場合はフォームヘルパを使うほうが無難ではないでしょうか。
投稿2014/11/26 08:47
総合スコア408
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。