Es klingt für mich wie Sie müssen beginnen zu implementieren, was als "Trennung von Bedenken" über Ihre Anwendung allgemein bekannt ist. Die Beispiele, die Leute über Templates halten, sind als Reaktion auf Ihre spezifische Beschwerde über Seiten-Editoren, die Ihren Code brechen, wichtig, aber stellen nur ein Beispiel für diese Taktik dar. Wenn Ihr Programm größer und komplexer wird, wird es schwieriger zu modifizieren und zu debuggen - selbst wenn Ihr Designer Ihren Code nicht bricht.
Die häufigste Trennung ist eine dreifache Aufteilung zwischen Daten, Logik und Darstellung, wie im Designmuster Model-View-Controller (MVC) beschrieben. Sie benötigen kein vollständiges MVC Framework, um dieselben Grundprinzipien zu implementieren. Die Idee besteht einfach darin, Code, der sich mit Ihren Daten (Modell) beschäftigt, an einem Ort zu kapseln, der Code, der diese Daten dem Benutzer (Ansicht) in einem anderen darstellt. Sie binden diesen Code zusammen mit Code, der nur darauf abzielt, die richtigen Daten zum richtigen Zeitpunkt dem richtigen Benutzer zu präsentieren (Controller).
Von Ihrer Beschreibung, es klingt wie Sie haben, ist jetzt ein Transaction Script Muster, wo Sie eine PHP-Datei "dothis.php" haben, die im Browser geladen wird, und alle Funktionsdefinitionen und HTML für die Anzeige zusammen sind . Sie haben bereits Funktionen, so dass Sie bereits damit beginnen, Teile der Logik zu kapseln. Die Art, wie ich das angehen würde, wäre, im Einklang mit den anderen Antworten hier über Templating, das gesamte HTML in eine andere Datei zu entfernen, die nur einfache PHP-Variablen und vielleicht einige Schleifen referenziert (aber so wenig bedingtes Umschalten wie du) kann). Dadurch wird die Vorlage leichter lesbar und schwerer zu knacken. Wenn Ihr Seiteneditor das Layout ändern möchte, geben Sie ihm DIESE Datei.
Sie trennen dann alle Ihre Datenzugriffsfunktionen in eine andere Datei und erstellen idealerweise eine Klasse (oder mehrere Klassen, abhängig davon, wie komplex Ihre Daten sind und wie häufig Sie sie wiederverwenden müssen).
An diesem Punkt wurde Ihre "dothis.php" bis auf einige Konfigurations-Code (die Sie zu einem Include trennen können, und einige Authentifizierungs-Code (die Sie in seine eigene Klasse trennen können), und ist nur Aufruf der Datenzugriffsfunktionen und Aufruf der inkludierten Vorlagendatei Ihr Controller selbst ist daher stark vereinfacht und einfacher zu managen
Der Designer kann immer noch etwas vermasseln, es sei denn, Sie haben einige Maßnahmen an Ort und Stelle. Obwohl ich Smarty nicht sonderlich mag, ist seine Fähigkeit, die PHP-Nutzung Funktion für Funktion oder insgesamt einzuschränken, ein schönes Beispiel. Aber es ist wahr, dass zumindest die Arbeit des Designers einfacher wird, wenn Sie das Design trennen. –