Ankündigung

Einklappen
Keine Ankündigung bisher.

Plugin-System / Events

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Plugin-System / Events

    Hallo,

    ich hoffe, dass mir hier jemand helfen kann. Und zwar möchte ich die OO von PHP5 ausnutzen um ein event-basiertes Plugin-System zu bauen. Dahinter steckt noch keine Applikation an sich, ich will es nur erst einmal testen.

    Die Idee ist, das ähnlich dem Event-Handling von Java zu machen.

    Ich habe also in meinem Testsystem nun eine abstrakte Klasse "Plugin" und verschiedene Interfaces, die "onHead", "onBody" und so etwas implementieren. Die Klasse "Plugin" reihe ich dabei mit ein, um grundsätzliche Methoden, die für alle Plugins unabhängig vom Interface gelten zu implementieren.

    Wobei ich nun hake ist das Horchen auf die Events.

    Wie und wo registriere ich die Plugins am Besten, da ich ja mit meiner Hauptapplikation u.U. nur einen Listener habe? Die Trigger-Methoden müssen ja "wissen", welches Interface ein registriertes Plugin benutzt, so dass mir kein anderer Weg einfällt, als die Objekte nach Interfaces getrennt in Listen zu packen. Hat jemand eine bessere/funktionierende Idee?

  • #2
    Hallo,
    um welche Art von Events handelt es sich denn? Beschreib mal ein Szenario!

    Suchst du vielleicht SAX? Das ruft dir beim Parsen von XML-Dateien (oder eben auch XHTML) je nach Knoten deine vordefinierten Funktionen auf.
    Comelio GmbH PHP: XML parsen mit SAX
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      Hi,

      Wenn Java Events das selbse sind, wie Events unter dotNet, dann kann ich dir sagen, dass PHP sowas nicht hat. Macht auch nicht soviel Sinn bei einer Server basierten Sprache meiner Meinung nach.

      Gruß Thomas

      Kommentar


      • #4
        Oder er meint JavaScript.
        Aber Event-Handling gibt es so nicht in PHP (wäre auch ziemlich sinnlos).
        Refining Linux: “[url=http://www.refining-linux.org/archives/65/Performing-push-backups-Part-1-rdiff-backup/]Performing Push Backups – Part 1: rdiff-backup[/url]”

        Kommentar


        • #5
          Meinst Du bei Java die ganzen AddListener(XYZListener o) ?

          Kommentar


          • #6
            Jein, es gibt schon gewisse Events, die man bei simulierten Zustaenden oder Ablaeufen triggern kann, preDispatch() beim Zend Controller. Aber ich glaub auch nicht dass er das meint
            "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

            Kommentar

            Lädt...
            X