turk porno porno escort rokettube
Ergebnis 1 bis 4 von 4

Thema: Event Manager / Hook-System

  1. #1
    Benutzer
    Registriert seit
    16.05.2009
    Beiträge
    36
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Standard Event Manager / Hook-System

    Hallo zusammen,

    bitte nicht erschlagen wenn es das falsche Forum ist. Wusste es nicht einzuordnen.


    Der Event Manager von ZF 2 wurde ja auch auf 1.12 portiert und ich würde diesen gerne nutzen.

    Folgendes möchte ich damit umsetzen:

    In meinen Controllers gibt es einige Punkte wo ich gerne ein Event triggern möchte. An dieses Event sollten sich Klassen dranhängen können und ihre spezifischen Funktionen aufrufen (Später sollen diese Klassen als eine Art Plugin registriert werden können).
    Soweit denke ich Standard-Funktionalität.
    Jetzt möchte ich das aber gerne so ähnlich wie bei Wordpress realisieren. D.h. ich würde gerne die das Event triggern und damit die Funktionen in einer bestimmten Reihenfolge aufrufen und jede Funktion soll dabei einen Rückgabewert haben, der an die nächste Funktion weitergegeben wird. Am Ende soll dann eine Gesamt-Rückgabe wieder an den Controller zurückgegeben werden, der das Event gefeuert hat. Meinetwegen auch als Array die jede Rückgabe einzeln enthält.

    Was ich damit erreichen möchte:
    1. Ich möchte flexibel weitere Ausgaben in den Controller einstreuen, dabei aber nicht den Controller überladen.
      Möglicher Anwendungsfall:
      Es gibt einen Dashboard-Controller und es können beispielsweise über die Hook-Klassen verschiedene Statistiken eingehängt werden. Für jede Klasse eine eigene Statistik.
      Das ist also der Fall, dass jede Hook-Klasse etwas zurückgeben soll.
    2. Es soll möglich sein dass die Plugins einen übergebenen Wert filtern (ihn in irgendeiner Form weiterverarbeiten oder ähnliches) und am Ende diesen Wert zurückgeben.


    Ist das alles schon möglich?
    Und wenn nein, wo könnte ich den EventManager erweitern, dass ich diese Anforderungen abdecken kann?


    Danke
    Viele Grüße
    el_coyotes
    Geändert von el_coyotes (21.06.2013 um 16:11 Uhr)

  2. #2
    Super-Moderator Avatar von Kaiuwe
    Registriert seit
    30.12.2006
    Beiträge
    5.520
    Thanks
    4
    Thanked 356 Times in 287 Posts

    Standard

    Zitat Zitat von el_coyotes Beitrag anzeigen
    Ich möchte flexibel weitere Ausgaben in den Controller einstreuen, dabei aber nicht den Controller überladen.
    Möglicher Anwendungsfall:
    Es gibt einen Dashboard-Controller und es können beispielsweise über die Hook-Klassen verschiedene Statistiken eingehängt werden. Für jede Klasse eine eigene Statistik.
    Das ist also der Fall, dass jede Hook-Klasse etwas zurückgeben soll.
    Was willst du mit den Daten im Kontroller?

    Zitat Zitat von el_coyotes Beitrag anzeigen
    Ist das alles schon möglich?
    Und wenn nein, wo könnte ich den EventManager erweitern, dass ich diese Anforderungen abdecken kann?
    Schau dir mal zuerst das entsprechende Entwurfsmuster dazu an, damit du hier ein Grundverständnis bekommst.
    Zum Zend Framework stehen jedem folgende Quellen zum Nachschlagen zur Verfügung:

  3. #3
    Benutzer
    Registriert seit
    17.05.2009
    Beiträge
    36
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Standard

    Zitat Zitat von Kaiuwe Beitrag anzeigen
    Was willst du mit den Daten im Kontroller?


    Schau dir mal zuerst das entsprechende Entwurfsmuster dazu an, damit du hier ein Grundverständnis bekommst.
    Mir ist das Observer-Pattern denke ich bekannt. Es passiert irgendwas (Event) und die Listener werden informiert, dass was passiert ist und führen ihre Funktionalität aus.
    Ich bin jetzt auch nicht fixiert auf den Event Manager. Dachte halt, man könnte meine Anforderungen vielleicht damit abdecken.

    Im Controller brauche ich das nicht zwingend. Aber in der View.
    Aber mir ist gerade in den Sinn gekommen, dass ich das Event ja genauso gut auch in der View aufrufen könnte.
    Gehe ich recht in der Annahme, dass ich die Ausgabe auch einfach in der Listener-Klasse ausführen kann und die Daten dann in der View an der Stelle landen des Aufrufs landen, bevor der weitere Code ausgeführt wird?
    Sollte ja eigentlich so sein, es sind ja keine eigenen Threads.

    Warum ich die Daten manchmal zurückgeben möchte:
    An manchen Stellen möchte ich die Daten dann benutzen. Dabei ist es für den Controller irrelevant von welchen Klassen die Daten kommen solange die Daten das richtige Format haben.
    Mich interessiert einfach, ob es möglich wäre und wenn ja welcher Weg dafür elegant wäre.

    Danke schon einmal!

  4. #4
    Benutzer
    Registriert seit
    17.05.2009
    Beiträge
    36
    Thanks
    3
    Thanked 0 Times in 0 Posts

    Standard

    Sorry für den Doppelpost, aber sonst gehts wohl unter.

    Sinn und Zweck der ganzen Geschichte ist eine Art Plugin-System, bei dem sich die Plugins per Hooks / Events an verschiedenen Stellen der Applikation einhängen können.
    Dachte halt, dass ich das damit eventuell mit dem Event-Manager lösen könnte.

    Ein Beispiel für einen Anwendungsfall, bei dem die Daten der Plugins benötigt werden:
    Es gibt eine Tabelle die aus der Datenbank geladen wird. Ein Plugin soll sich in die Generierung der Tabelle einklinken können, d.h. es muss der Spaltenwert in der DB-Tabelle vom Plugin geliefert werden. Sonst kann die Abfrage ja nicht angepasst werden. Oder weiß jemand eine andere Lösung dafür?


    Danke und viele Grüße
    el_coyotes

Ähnliche Themen

  1. Event Manager | Verständnis fragen...
    Von Xyriano im Forum ZF2 Einsteigerfragen
    Antworten: 2
    Letzter Beitrag: 15.04.2013, 18:12
  2. Database Manager like phpmyadmin
    Von flod im Forum DB
    Antworten: 7
    Letzter Beitrag: 24.01.2013, 00:11
  3. Shutdown hook oder so etwas?
    Von bonndan im Forum Einsteigerfragen
    Antworten: 7
    Letzter Beitrag: 10.07.2009, 11:46
  4. UO Manager
    Von Alberto im Forum Eure Projekte
    Antworten: 9
    Letzter Beitrag: 28.06.2008, 01:14
  5. YUI History Browser Manager
    Von Timo Trallala im Forum Konzepte & Ideen
    Antworten: 3
    Letzter Beitrag: 03.11.2007, 20:43

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •