PHP echo ausgabe formatieren
Geizhals » Forum » Programmierung » PHP echo ausgabe formatieren (38 Beiträge, 248 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
.......
Re(7): PHP echo ausgabe formatieren
21.01.2006, 16:55:24
Eh - mit mir...

Und ich bleibe dabei, daß "abc $def ghi" vollkommen korrekt ist.

Wenn man sich schon aus Sicherheitsgründen auf "abc" . $def . "ghi" festlegen will, dann sollte man es - um /wirklich/ alles auszuschließen - aber auch so machen:

("abc" . ($def) ) . "ghi".

Warum ?
Weil erstenseinmal ein "abc".$def."ghi" den Fehler hat, daß es implizit davon ausgeht, daß die PHP-Engine ein "." auf beiden Seiten akzeptiert, ohne in einen Precedence-Conflict zu rennen. Denn es könnte ja sein, daß der Engine nicht bekannt ist, daß ("abc"."def")."ghi" gleich wie "abc".("def"."ghi") ist. Zusätzlich (wenn man schon argumentieren will, daß da ja mal stattdessen Klassen auftreten, ... - muß man ja berücksichtigen, daß da natürlich u.U. auch function-Calls mit nebeneffekten auftreten können - daher ist die Precedence festzulegen Pflicht.

Außerdem ist zu beachten, daß ja dann das "def" - wenn man schon wegen eventuellen groben umbauten irgendwann aber ganz sicher schon jetzt was angreifen will - ebenfalls zu kapseln ist - genauso wie Makro-Definitionen in C.

Echt, ich finde "abc $def ghi" völlig in Ordnung. Denn wenn ich wirklich $def durch etwas grob anderes ersetze - dann muß ich mir eh alles anschauen, wo es verwendet wird (und zB ein "->abc" ergänzen. Wenn das passiert - dann ändere ich den Source sowieso (zwangsläufig) - und genau dann werde ich das einfügen.

Ich persönlich finde ein "abc $def ghi" jedenfalls weit übersichtlicher als die verbreiteten Konkatenierungs-Orgien... Zusätzlich spart es Memory, wenn wir schon bei den sinnlosen Punkten sind.

Wenn Du "abc $def ghi" schreibst, wird $def einfach in-Place ersetzt und das ghi verschoben (also das "abc" kostet net extra). Im Anderen Fall hast du die Konkatenierungsoperationen, die immer Memory (für's anfordern) und CPU für den Einsprung in die Routinen kosten. Die Chance ist also hoch, daß ein "abc $def ghi" durchaus ein paar zehntel-Millisekunden schneller ist und durchaus ein paar hundert Bytes für das Zusammenbauen des temporären Strings spart ;-)

Antworten PM Übersicht Chronologisch Zum Vorgänger
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung