RattuS
2011-02-26, 19:15:05
Hallo,
ich fummele jetzt schon gut 3 Jahre lang in PHP rum, finde aber einfach keine zufriedenstellenden Methoden rund um den Programmierstil bei PHP. Vielleicht liegt es auch einfach nur an der Sprache selbst. Folgende Fragen:
Übersichtlichkeit bei PHP in HTML:
Inline-PHP ist bequem und übersichtlich, aber leider nicht überall einsetzbar. Sobald ich mehrere Variablen verarbeite, eine Bedingung prüfe oder eine Schleife erzeuge, benötige ich mehrere Zeilen PHP, womit das HTML wieder zerschnitten wird. Ich arbeite mitlerweile nur noch im PHP-Tag und printe einfach alle Zeilen HTML. Das hat den Vorteil, dass ich besser zwischen eigentlichem PHP und HTML-Tags unterscheiden kann. So oder so ist das Indent dann aber wieder häßlich, da ich im PHP selbst bedingtes Ident habe, während das HTML-Ident ja nach wie vor Bezug auf deren Parent-Tags hat. Wie lösen die Profis das?
Variableninitialisierung:
Aus einer strengen Programmierumgebung kommend, schmeckt mir dieses fehlertolerante System eigentlich gar nicht. Auf der anderen Seite lässt es sich gleichzeitig für eine schnellere Verarbeitung ausnutzen. Ein gutes Beispiel sind die ganzen Eingabe-Elemente, dessen Werte ich einfach direkt auf GET/POST/SQL (bei vorangehender Maskierung) setzen kann. Selbst wenn die Werte, die verknüpft werden sollen, gar nicht existieren, ist das dank der leeren Rückgabe durch PHP unproblematisch. Oft kann ich mir isset() oder count() direkt sparen, weil sich die Rückgabe bei leeren Werte äquivalent verhält. Trotzdem ist das natürlich irgendwo ein schmutziger Stil. Ist das so gewollt oder bricht mir das irgendwann das Genick?
Objektorientierung:
Es mag vielleicht daran liegen, dass ich überwiegend nur mit überschaubaren Konzepten arbeite oder die Daten nur aus GET/POST und SQL hole, aber so wirklich notwendig erscheint mir Objektorientierung bei PHP nicht, vor allem, weil die Sprache ansich ja schon überwiegend nur mit klassenlosen Funktionen kommt. Ist es empfehlenswert trotz geringer Komplexität eine Klassenhierarchie zu nutzen?
Includes/Requires:
Mir ist aufgefallen, dass man leicht seiner eigenen Bequemlichkeit verfällt, wenn es um das Importieren geht. Gerade bei zeitkritischer Verarbeitung ist es nicht gerade sinnvoll, seine Lieblingsbibliothek einzubinden, die 30 Funktionen beinhaltet, man daraus aber nur genau eine Funktion braucht. Das wiederum bedeutet, dass man viele kleine Bibliotheken daraus machen sollten, was dann aber wieder den Nachteil hat, dass man einen halben Bildschirm voll Imports hat. Letzterer Fall ist im Endeffekt trotzdem schneller oder?
Settings und Lokalisierung:
Um konstante Variablen und lokalisierte Strings zu implementieren, importiere ich (via require_once) diese Definitionen auf jeder Seite, die sie nutzen. Ist das so in Ordnung oder gibt es eine bessere Variante damit umzugehen?
Das sind die Fragen soweit, die mir spontan eingefallen sind. More to come...
ich fummele jetzt schon gut 3 Jahre lang in PHP rum, finde aber einfach keine zufriedenstellenden Methoden rund um den Programmierstil bei PHP. Vielleicht liegt es auch einfach nur an der Sprache selbst. Folgende Fragen:
Übersichtlichkeit bei PHP in HTML:
Inline-PHP ist bequem und übersichtlich, aber leider nicht überall einsetzbar. Sobald ich mehrere Variablen verarbeite, eine Bedingung prüfe oder eine Schleife erzeuge, benötige ich mehrere Zeilen PHP, womit das HTML wieder zerschnitten wird. Ich arbeite mitlerweile nur noch im PHP-Tag und printe einfach alle Zeilen HTML. Das hat den Vorteil, dass ich besser zwischen eigentlichem PHP und HTML-Tags unterscheiden kann. So oder so ist das Indent dann aber wieder häßlich, da ich im PHP selbst bedingtes Ident habe, während das HTML-Ident ja nach wie vor Bezug auf deren Parent-Tags hat. Wie lösen die Profis das?
Variableninitialisierung:
Aus einer strengen Programmierumgebung kommend, schmeckt mir dieses fehlertolerante System eigentlich gar nicht. Auf der anderen Seite lässt es sich gleichzeitig für eine schnellere Verarbeitung ausnutzen. Ein gutes Beispiel sind die ganzen Eingabe-Elemente, dessen Werte ich einfach direkt auf GET/POST/SQL (bei vorangehender Maskierung) setzen kann. Selbst wenn die Werte, die verknüpft werden sollen, gar nicht existieren, ist das dank der leeren Rückgabe durch PHP unproblematisch. Oft kann ich mir isset() oder count() direkt sparen, weil sich die Rückgabe bei leeren Werte äquivalent verhält. Trotzdem ist das natürlich irgendwo ein schmutziger Stil. Ist das so gewollt oder bricht mir das irgendwann das Genick?
Objektorientierung:
Es mag vielleicht daran liegen, dass ich überwiegend nur mit überschaubaren Konzepten arbeite oder die Daten nur aus GET/POST und SQL hole, aber so wirklich notwendig erscheint mir Objektorientierung bei PHP nicht, vor allem, weil die Sprache ansich ja schon überwiegend nur mit klassenlosen Funktionen kommt. Ist es empfehlenswert trotz geringer Komplexität eine Klassenhierarchie zu nutzen?
Includes/Requires:
Mir ist aufgefallen, dass man leicht seiner eigenen Bequemlichkeit verfällt, wenn es um das Importieren geht. Gerade bei zeitkritischer Verarbeitung ist es nicht gerade sinnvoll, seine Lieblingsbibliothek einzubinden, die 30 Funktionen beinhaltet, man daraus aber nur genau eine Funktion braucht. Das wiederum bedeutet, dass man viele kleine Bibliotheken daraus machen sollten, was dann aber wieder den Nachteil hat, dass man einen halben Bildschirm voll Imports hat. Letzterer Fall ist im Endeffekt trotzdem schneller oder?
Settings und Lokalisierung:
Um konstante Variablen und lokalisierte Strings zu implementieren, importiere ich (via require_once) diese Definitionen auf jeder Seite, die sie nutzen. Ist das so in Ordnung oder gibt es eine bessere Variante damit umzugehen?
Das sind die Fragen soweit, die mir spontan eingefallen sind. More to come...