dedlfix: neue Datei erstellen

Beitrag lesen

Tach!

Immer wieder zu sehen und doch ist und bleibt es sinnlos, die Werte vor dem Gebrauch noch einmal umzukopieren.
kann (= muss nicht = kommt darauf an) lesbarkeit des codes beguenstigen.
Wann [...]?
bei relativ kleinen funktionen mit vielen zugriffen (vielleicht auch mehrere innerhalb einer zeile) auf diese variablen wird dadurch der code kuerzer und u.u. besser lesbar, wenn der kontext ("variable kommt von $_POST") klar ist.

Warum übergibst du dann nicht der Funktion diesen Wert als Parameter? Die Funktion selbst wird dadurch universell, weil sie nun völlig ohne eine Bindung an eine bestimmte Datenquelle auskommt.

es gibt ja auch komplizierteres als
  $username = $_POST["username"];
naemlich z.b.
  $username = $_POST["foo"]->[$moep]["username"]; # oder aehnliches

Kaum. Es sei denn, du schreibst selbst Objekte (wegen des ->) in das $_POST-Array. Dann musst du dich aber fragen lassen, warum du das machst. PHP macht das nicht, also darf eigentlich auch kein Programmteil davon ausgehen, so etwas vorzufinden.

Aber mal angenommen, du hättest nur Array-Zugriffe notiert ... die Daten auf solche eine Weise schachteln zu müssen, verlangt im Prinzip auch einen weit über 08/15 hinausgehenden Anwendungsfall und bedingt durch dessen Code-Größe eine angemessene Strukturierung des Codes. Dann käme wieder die Frage von oben ins Spiel.

es kann z.b. auch fuer die lesbarkeit sinnvoll sein, komplizierte berechnungen nicht in einer langen zeile auszufuehren, sondern sowas in mehrere einzelschritte aufzuteilen.

Auch hier wieder die Frage, warum dann nicht die komplizierte Berechnung als eine abgeschlossene Einheit separieren und ordentlich in einer Funktion mit Parameterübergabe kapseln?

die performance, die dadurch draufgeht, ist in scriptsprachen meist vernachlaessigbar.

Die spielt auch beim unnötigen Umkopieren keine Rolle. Zum einen sind die Daten üblicherwiese handlich klein und der kopiervorgang fiele nicht ins Gewicht. Aber auch bei sehr großen Daten wird seitens PHP keine Kopie angelegt. Intern wird quasi nur eine Referenz angelegt. Der eigentliche Dupliziervorgang findet erst dann statt, wenn beide Variableninhalte auseinanderlaufen, also einer von beiden geändert wird.

Unsere Diskussion läuft grad auf der theoretischen Ebene ab. Da sollte man auch annehmen, dass man die theoretisch beste Lösung verwenden und vertreten kann. Dass die Praxis da mitunter eine ganz andere Sprache spricht, ist mir klar. Wenn man wegen ihrer Zwänge nicht mit einer "ordentlichen" Lösung zum Ziel kommt, dann muss man eben Alternativen finden, wie sie normalerweise nicht gelehrt werden würden. Aber für solch einfache Anwendungsfälle wie die der meisten Wald- und Wiesen-Scripte, muss man nicht unbedingt darauf plädieren, dass ein einfaches Umkopieren sinnvoll sei.

dedlfix.