Gibt es ein Formularübermittlungsmuster?

Gibt es in PHP Muster, die Menschen zum Einreichen von Formularen verwenden? Bewährte Methoden für die Formularübermittlung. Etc.

Beispiel, ich versuche, eine CRUD-Operation zu erreichen. Anfangs habe ich eine gleiche Funktion für die Handhabung von Formularanzeige und Formular-Einreichung

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
  }
}

Was ich nicht mag.. über diese Praxis ist, die Anmeldung zu überprüfen, ob es ein Absenden oder ob es sich um eine brandneue Form handelt, ist in der gleichen Funktion.

Ich habe darüber nachgedacht, zwei verschiedene Funktionen

form1_add() and form1_add_submit() 

zu machen, um diese Operationen zu handhaben. Aber andere Probleme erscheinen z. B. bei erfolgloser Validierung, ich müsste form1_add() from von form1_add_submit() again to display those validation errors. erneut aufrufen, um diese Validierungsfehler anzuzeigen.

Welche anderen Praktiken verwenden Menschen für diese Art von Operation? Gibt es dafür spezifische Muster?

Antwort auf "Gibt es ein Formularübermittlungsmuster? " 2 von antworten

Das allgemeine Prinzip ist, wie bei jeder Programmierung, Ihre Funktionen so atomare wie möglich zu halten. Das Ausführen mehrerer Aufgaben innerhalb einer einzelnen Funktion erschwert nur die Arbeit und erschwert das Debuggen. Das Aufrufen von Funktionen aus anderen Funktionen ist eine vollkommen gute Idee und macht ihren Code zumindest leichter verständlich.

In einem konkreten Beispiel trenne ich mich immer von Anzeige und Formularübermittlung/-validierung voneinander, weil es sich um völlig unterschiedliche Funktionen handelt. Wenn Sie eine "hübsche" Validierung wünschen, sollten Sie vielleicht die Verwendung von JavaScript auf dem Formular selbst in Betracht ziehen und dann einfach eine Liste von 'Fehlern' mit PHP direkt über dem Formular anzeigen, wenn die Formularübermittlung immer noch nicht mit der Eingabe entspricht (so dass der Benutzer sie korrigieren kann).

Ich kenne keine "Best Practice" oder "Standard-Weg zu tun" dies.

Persönlich benutze ich externe Funktionen, um dies zu handhaben.
none