Ich hatte ähnliche Gedanken, meine eigene CMS-Engine zu entwickeln. Schließlich habe ich am Ende mit der gleichen Lösung wie Sie, aber mit Smarty, für die Trennung von Logik und Präsentation.
Aber jetzt nach einiger Zeit habe ich andere und viel bessere Lösung. Verwenden Sie Command Pattern. Sie müssen Ihren Code in Klassen aufteilen, die nicht in Dateien enthalten sind wie Sie. Sie müssen eine Befehlsschnittstelle einrichten, die alle Klassen implementieren. Auf diese Weise wird Ihre Admin-Seite als Front Controler (ein anderes Entwurfsmuster) fungieren.
Die Verantwortlichkeit von FrontControler ist, alle Eingaben von Ihrer Seite zu sammeln, das heißt in Ihrem Fall $ _GET ["action"], entsprechend diesen Aktionen müssen Sie Command Objekte instanziieren und nach dieser switch Anweisung $ aufrufen Befehl-> Ausführen(); Dadurch wird Code ausgeführt, der in den Command-Klassen enthalten ist.
Für Ihre examle haben Sie: EditPageCommand, DeletePageCommand, NewPageCommand usw.
Vermeiden Code Trennung in Dateien. Versuchen Sie, Klassen für alles zu verwenden und Muster zu lernen. ;)
Ich habe noch nie mit Klassen gearbeitet ...: P – unrelativity
Sie sollten es versuchen ... wenn Sie irgendwelche Fragen haben, fragen Sie bitte ... – zidane