Tom: Post/Get in Variable nicht gut?

Beitrag lesen

Hello,

Zusätzlich zu den Einträgen im $_POST noch extra Variablen anzulegen erhöht nur die Komplexität des Scripts und bringt nichts ein außer einem angeblichen Vorteil beim Tippen der Variablennamen.

Außerdem verhindert es die elegante Weitergabe der Werte an Funktionen.
Die Bindung von Variablen in einem "Array" ist gerade eine der Stärken von PHP. Warum sollte man die durch unsinnige Umkopieraktionen wieder zerstören.

Ein weiterer Grund könnte aber auch sein, dass noch ein anderes Skript auf diese Variablen zugreifen möchte und es daher unsinnig wäre die Variablen im $_POST selbst zu verändern, da das nächste Skript sonst keinen Zugriff auf die Originaldaten mehr hätte.

Es gibt kein anderes Script, was auf die Elemente von $_POST zugreifen könnte. Zu jedem Script gehört immer nur genau ein $_POST-Array und umgekehrt!

Außerdem erhöhte es meiner Meinung nach die Lesbarkeit des Codes, wenn diesen Variablen einen entsprechend sprechenden Namen bekommen.

Den sprechenden Namen können sie bereits im $_POST-Array haben.
Und wenn man unbedingt eine Transformation benötigt, geht das auch mit einem Teilarray von $_POST und den neuen Namen sowie der Funktion array_combine() ganz bequem.

Sinnvoll ist es z.B. im HTML bereits eine Differenzierung zwischen Daten, Controls und Buttons zu wählen.

<input name="formname[data][vorname]">
  <input name="formname[data][nachname]">

<select multiple name="formname[ctrl][beruf]">
      <option value="0" selected>== bitte wählen ==</option>
      <option value="11">Tischler</option>
      <option value="12">Zimmermann</option>
      <option value="21">Maurer</option>
      <option value="22">Fliesenleger</option>
      <option value="31">Koch</option>
  </select>

<input type="submit" name="formname[btn][apply]" value="bestätigen">

lass Dir das $_POST-Array mal anzeigen.

Warum sollte ich nun diese in $_POST wohlsortiert ankommenden Parameter erst wieder zerreissen, obwohl ich doch so mit einer vereinheitlichten und immer wieder verwendbaen Überprüfungsfunktion (mit passender Transformationstabelle gefüttert) die Plausibilität der Parameter und ihrer Werte überprüfen kann.

Es kann nur einen [btn] geben
[data]-Inputs haben direkte Datenkopplung
[ctrl]-Inputs müssen übersetzt werden und ggf. ergänzt durch nicht übertragene Checkboxes, ...

usw.

Ein Umkopieren in atomarisierte Variablen würde die ganze schöne Polimorphie, die einem PHP auch schon ohne explizite Verwendung der OOP förmlich aufdrängt, zerstört werden.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de