| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| Erfahrener Benutzer Registriert seit: 21.12.2009
Beiträge: 415
PHP-Kenntnisse: Fortgeschritten ![]() | So wie wohl jedes Framework auch: ein Controller, viele Views. Aber das willst du ja nicht hören. Man muss übrigens nicht zu jeder angeblichen Lösung ein Problem herbeikonstruieren - man darf auch schon vorher erkennen, dass es unsinnig ist.
__________________ actra.development - Schwabstr. 2 - 70825 Münchingen www.actra.de/velopment/ - eMail: php.de@actra.de Zend Certified Engineer for PHP5 |
| | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Erfahrener Benutzer Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | Bei meinem Framework habe ich es so gelöst, dass jede "Action" ein View hat. Sie kann allerdings auch manuell ein View festlegen (So lassen sich z. B. zentrale Fehlerseiten anzeigen). Jedes View hat noch mal je nach Bedarf verschiedene Ausgabeformate - i. d. R. HTML. Allerdings sind auch json, xml, etc. möglich. Zitat:
Ich frage mich gerade, warum Du Dir nicht einfach mal - wie bereits gesagt - fertige PHP-Frameworks anschaust und Dir anschaust, wie das dort gemacht wird. Du musst es ja nicht so wie diese umsetzen, aber ich denke, dann siehst Du erst mal die richtige Richtung.. | |
| | |
| | |||
| Erfahrener Benutzer Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse: Fortgeschritten ![]() | Zitat:
Zuerst schreibst Du EINE view je Controller und jetzt sind es doch mehrere. Zitat:
oder auch: Du denkst zu sehr: das ist jetzt eine Memberseite. Du lieferst aber keine Memberseite aus sondern eine HTML-Seite die aus mehreren Elementen besteht (Footer, Header, Werbebanner, Contentbereich, "who is online"-Box, Kalender ...) Zum groben Ablauf(MVC): - es gibt einen Frontcontroller/Dispatcher/Router der die Requests entgegennimmt und an den oder die eigentlichen (Sub-)Controller weiterleitet. Es können also mehrere (Sub-)Controller je Request beteiligt sein. Diese Subcontroller verarbeiten die Daten interagieren mit dem Model (i.d.R. der Datenbank), entscheiden welche View benötigt wird und stellen die Ausgabedaten der View zur Verfügung. Zum groben Ablauf(HMVC): - es gibt einen Frontcontroller/Dispatcher/Router der die Requests entgegennimmt und an den oder die eigentlichen (Sub-)Controller weiterleitet. Hier werden die benötigten Subcontroller anhand eines Seitenobjekts ermittelt. Das Seitenobjekt entspricht einem groben Template in dem die Infos gepeichert sind welche Elemente (Module) auf der Seite angezeigt werden. Diese Subcontroller verarbeiten die Daten interagieren mit dem Model (i.d.R. der Datenbank) und stellen die Ausgabedaten der (Sub-)View zur Verfügung. Nachdem alle Subcontroller angearbeitet sind ruft der Frontcontroller die View auf welche mit hilfe der Infos aus dem Seitenobjekt die (Sub-)Views zu einer Ausgabeseite zusammensetzt und ausgibt. Zum groben Ablauf(APF): Beim APF-Framework enthält das Seitenobjekt eine baumartige Struktur so daß einzelne Elemente ineinander verschachtelt sein können. Jedes Element der Seite entspricht einer MVC-Einheit.
__________________ Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator. | ||
| | |
| | |
| Neuer Benutzer Registriert seit: 01.09.2009
Beiträge: 12
PHP-Kenntnisse: Anfänger ![]() | Hallo und vielen Dank für eure Geduld! Ja ich hatte mich anfangs wohl missverständlich ausgedrückt. Ein Controller regelt bei mir momentan nicht eine View, sondern eine Viewklasse. Beispielsweise ist die MemberView dann zuständig für Sachen wie showMemberList(), showOnlineMember() usw. Danke @ Koala für deine ausführliche Erklärung, ich werde mich mal etwas näher mit HMVC beschäftigen um abwägen zu können was besser passt! Vielen Dank, Lg Alex |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 30.07.2008
Beiträge: 1.169
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | Omg: 3:38.. Schläfst Du nicht?! Und dann für jeden Bestandteil eine Funktion, die den html-Code erzeugt? Das haben wir bei meinem früheren Arbeitsgeber auch so gemacht, aber es ist eigentlich unnötig, weil Du das auch über eine einzige View-Klasse mit verschiedenen Templates machen kannst. Außerdem müsstest Du bei Deinem Ansatz bei jeder Erweiterung die jeweilige View-Klasse erweitern. Das ist nicht sehr schön. Schau Dir da mal Zend_View an. Das ist in der Funktionsweise recht einfach zu verstehen. |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Klasse aus einer anderen Klasse aufrufen | Tobby | PHP-Fortgeschrittene | 7 | 14.07.2010 20:05 |
| [Erledigt] Nur einer bestimmten Klasse Zugriff andere Klasse erlauben | Turamisi | Software-Design | 2 | 20.02.2010 20:31 |
| Mysql Klasse macht Probleme in verschachtelten / verzweigten SQL Abfragen | litterauspirna | PHP Tipps 2010 | 3 | 16.02.2010 12:54 |
| [Erledigt] variable außerhalb einer klasse definieren - "var $variable" in klasse not | taurus | PHP Tipps 2009 | 14 | 05.12.2009 16:00 |
| Klasse für Objekteigenschaft erzeugen? | Asipak | PHP-Fortgeschrittene | 25 | 30.05.2009 19:45 |
| [Erledigt] Eine klasse einbinden | newWorldOrder | PHP Tipps 2009 | 2 | 23.02.2009 19:32 |
| Methode einer anderen Klasse aufrufen | Luka | PHP-Fortgeschrittene | 15 | 09.11.2008 14:19 |
| Klasse aus externer Klasse aufrufen | kostja | PHP Tipps 2008 | 8 | 07.08.2008 14:13 |
| Variable aus Klasse herausbekommen | GSJLink | PHP Tipps 2008 | 7 | 16.02.2008 22:25 |
| String-Parser Klasse - was muss rein? | Matze | PHP Tipps 2007 | 2 | 08.04.2007 22:14 |
| mehr als eine Klasse einbinden | Alpha Centauri | PHP-Fortgeschrittene | 4 | 13.04.2006 20:56 |
| Instanz einer Klasse in einer anderen Klasse verwenden | Buhmann | PHP-Fortgeschrittene | 7 | 28.10.2005 23:12 |
| Rückgabewert auf einer Klasse anders als in der Klasse | micbur | PHP Tipps 2005-2 | 6 | 10.06.2005 15:06 |
| Klassenobjet in anderer Klasse benutzen | inu | PHP Tipps 2004 | 6 | 19.09.2004 10:58 |
| Klasse ändern | UniQ | PHP Tipps 2004 | 5 | 24.08.2004 14:46 |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| ablauf mvc, php mvc subcontroller, mvc php pdf, php view klasse, mvc subcontroller php, php mvc seite beispiel menu footer content header, php subcontroller, php dispatcher-klasse, die den request entgegennimmt, mvc datenbankabfrage, php mvc klasse, mvc sub controller in view einbinden, besteht die view aus klassen php mvc, mvp mehrere daten klassen, mvc datenbank abfragen, mvc klasse überladen php, php mvc mehrere controllrer views, php mvc klassen, subcontroller mvc php, mvc erklärung, zitat mvc |