Mailinglisten-Archive |
Hallo PHP-Gemeinde, ich möchte in einem bald in die Entwicklungsphase (Version 2.0) gehenden Projekt obiges in den Modulen verwirklichen. Modell (DB) mit Creole/Propel View mit Smarty und Controller mit Klassen Da ich (noch) nicht wirklich OOP-Spezi bin, stellt sich mir folgende Frage: WIE? Eigentlich dachte ich an die Aufteilung aller drei Teile in drei Dateien, damit ich sie wirklich auch physisch voneinander getrennt habe und leicht mal die Views oder den Controller austauschen kann. Aber irgendwie kann ich mir das grad nicht so vorstellen. Ich möchte das anhand eines Beispiels implementieren um es dann auf andere Module zu übertragen. Ich dachte an eine Useraccountverwaltung. Hierfür brauche ich folgendes: Modell: - lese alle Accounts: get_list() - lese einen Account: get() - schreibe einen Account: set() ----> Klasse AccountModell Views: - Accountliste: show_list() - Account anzeigen: show() - Account editieren: edit() ----> Klasse AccountsViews - diese Klasse erbt von der Klasse AccountDB (siehe oben) - Ihre Methoden werden vom Controller aufgerufen, holen sich die Daten aus der DB und füttern die Smarty-Templates mit den Daten Controller: ----> Klasse AccountVerwaltung - reagiere auf Benutzereingaben und rufe entsprechende Methoden (der Klassen AccountModell und AccountViews) auf - diese Klasse erbt von der Klasse AccountsViews (siehe oben) Liege ich damit jetzt falsch völlig falsch? Sind die Funktionalitäten falsch verteilt? Sind drei Klassen zuviel und ich kann auch nur alles in eine packen? Hat jemand n einfaches Beispiel für MVC ? Ich hab den Artikel über MVC im PHP Magazin auch gelesen, aber so viel Verwaltungsaufwand möchte ich in dieser Phase des Projektes für MVC nicht investieren. Das kommt vielleicht in Version 3.0, denn das ist dann ein Forschungsprojekt und da hab ich dann die Zeit dazu :) Das sind ja jetzt eher Überlegungen, die konzeptioneller Art sind. Muss ich bei der Implementierung mit PHP mit der OOP nochmal etwas Besonderes beachten? Gruß Thorsten Koch
php::bar PHP Wiki - Listenarchive