Hi!
Soll ich meine Seite komplett mit PHP generieren, also mit echo, oder sollte ich den HTML-Code von den PHP Anweisungen trennen?
Wie würdet ihr es idealerweise machen?
Als viel wichtiger sehe ich es an, das Programm allgemein gut zu strukturieren. Eine grundlegende Art und Weise nennt sich EVA-Prinzip, das ist die Trennung des Prozesses nach Eingabe, Verarbeitung und Ausgabe. Der Eingabeteil sorgt dafür, dass die übergebenen Daten in ihre Rohform gebracht werden, also falls nötig Transportmaskierungen entfernt und Typen korrigiert werden. Die Verarbeitung erledigt das eigentliche Ziel der Geschäftslogik, validiert Daten, kümmert sich um die Datenhaltung und stellt die für die Ausgabe benötigten Daten bereit. Auch diese liegen noch in Rohform vor, also bekamen noch keinerlei für eine bestimmte Ausgabe notwendige Behandlung. Der letzte Teil erstellt nun die Ausgabe und fügt diese Daten an den vorgesehenen Stellen ein und achtet dabei darauf, dass sie gemäß dem Ausgabemedium behandelt werden.
Ob du nun ein zusätzliches Template-System nimmst oder HTML mit eingebettetem PHP für die Ausgabelogik (also beispielsweise Schleifen für Massendaten oder bedingte Ausgaben) verwendest, kommt auch auf deine Bedingungen an. Ein Templatesystem ist vielleicht einfacher zu bedienen für jemanden, der mit Programmierung wenig am Hut hat. Das erkaufst du dir jedoch mit dem für die Abarbeitung zusätzlichen Aufwand. Du musst da selbst entscheiden, was für dich wichtiger ist.
Die Ausgabe größtenteils mit echo und Konsorten zu produzieren, halte ich für wenig sinnvoll. Du hast den zusätzlichen Aufwand des echo, des Quotierens und des Maskierens innerhalb von PHP und obendrein geht dir noch die Unterstützung seitens diverser Editoren verloren (zum Beispiel: Syntaxhervorhebung, automatische Codevervollständigung). Die Situation entschärft sich nur wenig mit der Heredoc- und Nowdoc-Syntax.
Da du mit jedem System die gesamte Bandbreite zwischen unübersichtlichen Spaghetti-Code und odentlich strukturiertem Code produzieren kannst, bleibt es am Ende immer dir überlassen, was du selbst bevorzugst.
Lo!