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?
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?
Kommentar