1

PHP では、フォームを送信するために人々が使用するパターンはありますか? フォーム送信のベスト プラクティスなど

たとえば、CRUD 操作を実行しようとしています。最初は、フォーム表示とフォーム送信を処理するために同じ関数を使用していました

class Somecontroller extends Controller {

  function form1_add() {
    // if submit exist save it in database
    // else
    // display the form
  }

  function form1_edit() {
    // if submit exist save it in database
    // else
    // display the same form
  }
}

私が気に入らないのは..この慣行について、送信があるかどうか、またはそれが真新しいフォームであるかどうかを確認するためのログインが同じ機能にあることです。

私は2つの異なる機能を作ることを考えました

form1_add() and form1_add_submit() 

これらの操作を処理します。ただし、検証に失敗した場合など、他の問題が発生し、それらの検証エラーを表示するために再度form1_add()呼び出す必要があります。form1_add_submit()

この種の操作には、他にどのような方法がありますか? これらの特定のパターンはありますか?

4

2 に答える 2

1

一般的な原則は、他のプログラミングと同様に、関数をできるだけアトミックに保つことです。1 つの関数内で複数のタスクを実行すると、仕事が難しくなり、デバッグが難しくなります。他の関数から関数を呼び出すことは完全に良い考えであり、少なくともコードが理解しやすくなります。

特定の例に関して言えば、表示とフォームの送信/検証は、まったく異なる機能であるため、常に分離しています。「きれいな」検証が必要な場合は、フォーム自体で JavaScript を使用し、フォームの送信がまだ入力に準拠していない場合は、フォームのすぐ上に PHP で「エラー」のリストを表示することを検討してください (ユーザーがそれらを修正します)。

于 2009-05-17T08:34:03.947 に答える
0

これを「ベストプラクティス」または「標準的な方法」と認識していません。

個人的には、外部関数を使用してこれを処理します。
ユーザーが送信した場合、userSubmited() などを呼び出します。また、これらを別々のファイルに分けているので、フォームをきれいな状態 (ヘッダーのみなど) に保つことができます。

また、フォーム処理部分を 1 つのファイルに保持し、UI 表示を別のファイルに保持して、これをよりクリーンに保つことをお勧めします。

于 2009-05-17T09:28:02.693 に答える