Zend Framework Forum Right Header

Zurück   Zend Framework Forum > Zend Framework Komponenten > MVC

Antwort
 
Themen-Optionen Ansicht
Alt 04.05.2008, 00:21   #1
saphir2k
 
Benutzerbild von saphir2k
 
Idee Schnellübersicht Dispatch Prozess

Hallo zusammen,

mir fehlt seit langem eine Schnellübersicht des gesamten Dispatch Prozesses des Front Controllers. Leider hab ich bisher im Web nichts dergleichen gefunden. Deswegen hab ich mich mal schnell hingesetzt und die (wie ich finde) wichtigsten Punkte in einem kleinen Diagramm notiert.

Es folgt keiner Notationsregel! Mir hats es wirklich sehr geholfen die ganzen Aufrufe der Plugins mal richtig zu verstehen. Vieleicht hilft es dem ein oder anderen auch.

---
Download:

Version 2
German Version (Black & White) - http://nethands.de/download/zfdispatchV2.pdf [V2.0]
English Version (Black & White) - Coming soon

German Version (Color) - http://nethands.de/download/zfdispatchV2color.pdf [V2.0]
English Version (Color) - Coming soon

Version 1
German Version (Color): http://nethands.de/download/zenddispatch.pdf [V1.01]
English Version (Color): http://nethands.de/download/zenddispatch_en.pdf [V1.01]


Viele Grüße,
Thorsten
__________________
Viele Grüße,
Thorsten Ruf

Geändert von saphir2k (14.07.2010 um 22:50 Uhr).
saphir2k ist offline   Mit Zitat antworten
Alt 04.05.2008, 00:22   #2
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Suchst du so etwas?
KingCrunch ist offline   Mit Zitat antworten
Alt 04.05.2008, 00:25   #3
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Ja sowas in der Art, nur bunter
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 04.05.2008, 00:28   #4
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von saphir2k Beitrag anzeigen
Ja sowas in der Art, nur bunter
Im Original isses immerhin etwas Orange, das Schwarzweiß war, weil der Upload hier wegen 6kb zuviel gemeckert hat. Zuviel Farbe kann allerdings auch verwirren
Aussm Bauch: PDF-Druckertreiber? Würde nahe legen lieber auf die Startseite zu verzichten und ansonsten als A3 quer zu drucken. So wirkts etwas zerschnibbelt.
Die URL wird bereits beim Routing zerlegt, nicht im Disptach. Genau das macht das Routing ja aus
Plugin-PostDispatch bzw. -PreDispatch wird bei dir zwei mal aufgerufen, entsprechende Methoden vom Helper allerdings garnicht. Beide Methoden im dispatch() vom Kontroller sind falsch zugeordnet.

Muss aber sagen: Die vielen, bunten Farben machen irgendwie Spass Kann nur "Sonstige Methoden" und Blau nicht zuordnen, was für ein System das sein soll. Im Groben für mich etwas zu detailliert. Womit hastn das gemacht?

Geändert von KingCrunch (04.05.2008 um 00:34 Uhr).
KingCrunch ist offline   Mit Zitat antworten
Alt 04.05.2008, 00:30   #5
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Zu wenige auch. Ne quark... Werd mir deine Grafik auch ausdrucken. Dumm das ich sowas nicht früher gesehen habe.
Der A3 Tip klingt gut. Gleich mal testen.
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 04.05.2008, 00:35   #6
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von saphir2k Beitrag anzeigen
Zu wenige auch. Ne quark... Werd mir deine Grafik auch ausdrucken. Dumm das ich sowas nicht früher gesehen habe.
Der A3 Tip klingt gut. Gleich mal testen.
*PLIK* hab meins edited
KingCrunch ist offline   Mit Zitat antworten
Alt 04.05.2008, 01:13   #7
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Zitat:
Zitat von KingCrunch Beitrag anzeigen
Die URL wird bereits beim Routing zerlegt, nicht im Disptach. Genau das macht das Routing ja aus
Plugin-PostDispatch bzw. -PreDispatch wird bei dir zwei mal aufgerufen, entsprechende Methoden vom Helper allerdings garnicht. Beide Methoden im dispatch() vom Kontroller sind falsch zugeordnet.
Aha... das fällt mir jetzt erst auf. Da hatte ich die ganze Zeit auch einen Gedankenfehler. Danke :-)


Zitat:
Zitat von KingCrunch Beitrag anzeigen
Muss aber sagen: Die vielen, bunten Farben machen irgendwie Spass Kann nur "Sonstige Methoden" und Blau nicht zuordnen, was für ein System das sein soll. Im Groben für mich etwas zu detailliert. Womit hastn das gemacht?
Gemacht mit PowerPoint 2007 das ich echt nicht schlecht finde mittlerweile. Endlich eine brauchbare Version.

Die Farben waren mal so Gedacht: blau = normale Logik, Grün = Plugin Aufrufe und Rot = "Komplexere Prozesse".
Jetzt gibts noch Orang = Helper Aufrufe.

Hab gleich eine neue Version erstellt. Zwar noch A4 aber dafür alles auf einer Seite. UND ... noch bunter ;-)

Hoffe die Version ist besser.

Zu detailiert? Was würdest du weglassen?
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 04.05.2008, 01:19   #8
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zu detailiert? Was würdest du weglassen?
Auf Anhieb viel mir auf, dass mich in dem ganzen Prozess das Output-Buffering eigentlich garnicht interessiert Soll ich noch mehr suchen?
Zitat:
Die Farben waren mal so Gedacht: blau = normale Logik, Grün = Plugin Aufrufe und Rot = "Komplexere Prozesse".
Jetzt gibts noch Orang = Helper Aufrufe.
Nenn mich "Begriffsstutzig", aber auf Anhieb ist mir "normal" und "komplex" nicht ganz klar Naja, eigentlich schon, aber es kann für Irritationen sorgen Vielleicht wäre (zumindest vom Begriff her) eine Unterscheidung, wann eine Methode etwas selbst macht, und wann es eine fremde Methode aufruft, interessant?
Zitat:
Gemacht mit PowerPoint 2007 das ich echt nicht schlecht finde mittlerweile. Endlich eine brauchbare Version.
Sieht echt nett aus. Ich versuch mich zur Zeit an Visio, aber das säuft ständig ab
KingCrunch ist offline   Mit Zitat antworten
Alt 04.05.2008, 01:34   #9
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Zitat:
Zitat von KingCrunch Beitrag anzeigen
Auf Anhieb viel mir auf, dass mich in dem ganzen Prozess das Output-Buffering eigentlich garnicht interessiert Soll ich noch mehr suchen?
Gerne doch
Zitat:
Zitat von KingCrunch Beitrag anzeigen
Nenn mich "Begriffsstutzig", ...
Nein, das wäre anmassend ... zumal ich auch da selbst Erklärungsschwierigkeiten habe.

Zitat:
Zitat von KingCrunch Beitrag anzeigen
aber auf Anhieb ist mir "normal" und "komplex" nicht ganz klar Naja, eigentlich schon, aber es kann für Irritationen sorgen Vielleicht wäre (zumindest vom Begriff her) eine Unterscheidung, wann eine Methode etwas selbst macht, und wann es eine fremde Methode aufruft, interessant?
Mit "komplex" (man beachte die Anführungszeichen!) meinte ich eigentlich so wie du geschrieben hast "Zugriff auf andere Klasse". Wobei ich dann den Call der Action Methode nicht mehr einfärben dürfte.
Zitat:
Zitat von KingCrunch Beitrag anzeigen
Sieht echt nett aus. Ich versuch mich zur Zeit an Visio, aber das säuft ständig ab
Visio ist auch was feines. Probleme mit der Stabilität hatte ich bisher in der Firma noch nicht. Zuhause hab ich halt "nur" Office 2007 und da ist kein Visio bei.
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 04.05.2008, 22:03   #10
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Nun leicht überarbeitet mit Request Prozess.
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 05.05.2008, 18:29   #11
rocksock
 
rocksock eine Nachricht über Skype™ schicken
Standard

fetten dank für diese übersicht. gefällt mir sehr gut!
rocksock ist offline   Mit Zitat antworten
Alt 06.05.2008, 10:11   #12
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Da hat ers doch tatsächlich still und heimlich in A3 überarbeitet Auf einer Seite find ichs nun wesentlich übersichtlicher. Mir gefällts. Is irgendwie lesbarer, als meins. Falls ich noch Fehler finde, meld ich mich.


Edit:
Wenn du zuviel Zeit hast, kannst du ja noch einzeichnen, wo sich der try-catch-Block befindet Das hilft bei Exceptions heraus zu finden, was übersprungen und was danach noch bearbeitet wird. Ein Block liegt direkt vorm Plugin-routeStartup bis (einschließlich) der do-while-Schleife, ein zweiter liegt um routeShutdown der Plugins. Die Aussage davon: routeShutdown() wird auch ausgeführt, wenn irgendwo vorher eine Exception geflogen ist.

Geändert von KingCrunch (06.05.2008 um 11:00 Uhr).
KingCrunch ist offline   Mit Zitat antworten
Alt 06.05.2008, 10:57   #13
Kaiuwe
 
Benutzerbild von Kaiuwe
 
Standard

Zitat:
Zitat von KingCrunch
Falls ich noch Fehler finde, meld ich mich.
Oder ich...!

Ist nur ein kleiner Fehler und einfach zu beheben:
Zitat:
Anhand der Route können nun alle Parameter aus der URL bestimmt werden (Module, Controller, Action, …)
Das ist nicht ganz richtig! So ist es besser: "Anhand der Route können nun alle Parameter bestimmt werden (Module, Controller, Action, …)"

Aber ansonsten eine feine Sache. Danke!
Kaiuwe ist offline   Mit Zitat antworten
Alt 06.05.2008, 23:14   #14
saphir2k
 
Benutzerbild von saphir2k
 
Standard

So und weil noch Platz auf der Seite ist hab ich noch den Helper Broker mitaufgenommen. Das hilft evtl. beim verstehen der Action Helper.

@Kaiuwe: Hab den Fehler korrigiert. danke
@KingCrunch: Ne is immernoch A4 ;-) ABER mit kleinerer Schrift. Habs gerade so groß gemacht das es noch auf nem Heimdrucker ohne Lupe druckbar ist.

Die Idee mit den try - catch blöcken hab ich direkt mal aufgenommen. Allerdings hab ich nur um den dispatchLoopShutdown den zweiten Block gefunden.
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 07.05.2008, 00:10   #15
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Edit2: Missverständnis
Zitat:
Die Idee mit den try - catch blöcken hab ich direkt mal aufgenommen. Allerdings hab ich nur um den dispatchLoopShutdown den zweiten Block gefunden.
Genau den meinte ich Jetz wo dus sagst: Hab routeShutdown geschrieben ^^ Gute Idee übrigens mit den roten Rahmen. Damit bleibts übersichtlich




Der Andere is direkt darunter

Edit:

PHP-Code:
        try {
            
/**
             * Route request to controller/action, if a router is provided
             */

            /**
            * Notify plugins of router startup
            */
            
$this->_plugins->routeStartup($this->_request);

        
// Ne Menge Code
            /**
             *  Attempt to dispatch the controller/action. If the $this->_request
             *  indicates that it needs to be dispatched, move to the next
             *  action in the request.
             */
            
do {

              
// Noch mehr Code

              
$this->_plugins->postDispatch($this->_request);
            } while (!
$this->_request->isDispatched());
        } catch (
Exception $e) {
            if (
$this->throwExceptions()) {
                throw 
$e;
            }

            
$this->_response->setException($e);
        }

        
/**
         * Notify plugins of dispatch loop completion
         */
        
try { // DA ISSER :D
            
$this->_plugins->dispatchLoopShutdown();
        } catch (
Exception $e) {
            if (
$this->throwExceptions()) {
                throw 
$e;
            }

            
$this->_response->setException($e);
        } 

Geändert von KingCrunch (07.05.2008 um 00:24 Uhr).
KingCrunch ist offline   Mit Zitat antworten
Alt 07.05.2008, 08:55   #16
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Haben wir also das gleiche gemeint.

Danke. Durch die einfache Übersicht hab ich selbst schon einiges dazugelernt. ;-)
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 07.05.2008, 08:57   #17
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Ups ich sehe gerade das der letzte try-catch block gar nicht mehr zu sehen ist auf dem Diagramm. Mist, ist eine Ebene zu tief ;-) werd ich heute Abend schnell korrigieren.
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 09.05.2008, 21:53   #18
saphir2k
 
Benutzerbild von saphir2k
 
Standard

Ok, neue Version ist nun Online. Wenn noch Fehler drin sind, bin ich immer für Feedback Dankbar
__________________
Viele Grüße,
Thorsten Ruf
saphir2k ist offline   Mit Zitat antworten
Alt 21.08.2008, 15:19   #19
KingCrunch
 
Benutzerbild von KingCrunch
 
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Mag das Thema mal jemand sticken? (Sagt man das so? )
KingCrunch ist offline   Mit Zitat antworten
Alt 21.08.2008, 16:15   #20
Remi
 
Standard

Cool,. ein mit Garn gesticktes Wandbild des Dispatch-Prozesses.
Kann hier überhaupt jemand sticken? Ich kann es nicht (auch nicht stricken).

Remi
Remi ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge anzufügen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Dispatch Sequenz KingCrunch Faq/Howto 2 09.04.2008 13:57
Frage zu dispatch Timo Trallala Einsteigerfragen 6 07.03.2008 12:03
Nach dispatch redirecten ? ChristianFischer MVC 5 19.10.2007 08:44


Powered by vBulletin® Version 3.6.12 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:56 Uhr.
Webdesign, CMS, Internet Anwendungen mit Zend
Framework aus Darmstadt, Frankfurt, Rhein-Main

presented by omoo

Skin Design Provided By Talk vBulletin