2009-05-08 3 views
0

Also im Grunde ist this was ich habe.Ist die Art, wie ich mein Admin-Panel eingerichtet habe, gut?

Aber ist das eine gute Praxis? Ich habe angefangen, meine admin.php-Datei aufzuteilen, da sie immer größer wird.

Allerdings habe ich ein wenig Bedenken darüber, wie viele Dateien könnte ich möglicherweise enden, und auch Probleme mit zu arbeiten, falls etwas über alle Dateien aktualisiert werden muss.

Antwort

2

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. ;)

+0

Ich habe noch nie mit Klassen gearbeitet ...: P – unrelativity

+0

Sie sollten es versuchen ... wenn Sie irgendwelche Fragen haben, fragen Sie bitte ... – zidane

0

Die Aufteilung auf große Dateien in ein paar kleinere, modularere ist immer eine gute Idee IMO.

Allerdings würde ich einen HTML-Template-Engine verwenden, um Logik und Präsentation nicht zu verwechseln. Schauen Sie sich smarty an.

+4

Obwohl die Idee, Logik und Präsentation nicht zu mischen, ein guter ist, sehe ich keine Notwendigkeit, eine Schablonenmaschine (smarty) auf eine tadellos gute Templating Sprache zu werfen (php) –

+0

würde ich machen ein Templating-System, wenn ich mir vorstellen könnte, wie das Backend und die Frontends zusammenarbeiten, weil ich nicht weiß, wie. – unrelativity

+0

@Paolo: Schön, aber die einzige Sache, die ich an PHP hasste, waren die verstreuten Druckanweisungen im gesamten HTML. Kennst du einen Weg um das herum? @ a2h: Nun, zuerst versammeln Sie Ihre Variablen und/oder Arrays und dann rufen Sie die Vorlage aus, die spezielle Tags wie {{title}} mit diesen Variablen hat. –

1

Verwenden Sie Klassen in PHP, versuchen Sie, Ihr Projekt in logische Module aufzuteilen. Dann müssen Sie keine manuellen Aktualisierungen über alle Dateien vornehmen.

Verwandte Themen