IEventListener

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • Die IEventListener-Klasse ist im WSC die Interface Klasse aller Eventlistener.

    Erklärung



    Die IEventListener-Klasse ist die Interface Klasse aller Eventlistener. Durch Eventlistener ist man dazu in der Lage sich in Events einzuklinken, um so sauber und elegant den Programmablauf von bestehendem PHP Code zu verändern und/oder zu erweitern und das ohne direkt die bestehenden Dateien bearbeiten zu müssen. Wie sämtliche PHP Dateien muss sich die Datei mittels des files-PiP installiert werden. Alle Eventlistener-Dateien befinden sich im Ordner Endanwendung/system/event/listener/. Ein Eventlistener muss durch die eventListener.xml zuerst registriert werden, bevor diese ausgeführt wird.

    Die IEventListener Klasse auf GitHub


    github.com/WoltLab/WCF/blob/ma…/IEventListener.class.php

    Verfügbare Funktionen/Parameter


    execute()


    Die Funktion execute() ist die einzige Funktion eines Eventlisteners die gesetzt sein muss. Innerhalb dieser Funktion spielt sich der komplette Programmablauf des Eventlisteners ab.

    $eventObj


    An die Funktion execute() wird als erster Parameter die Variabel $eventObj übergeben. In dieser Variabel befindet sich die komplette $this Variabel aus der Klasse, in der man sich eingeklinkt hat.

    $className


    An die Funktion execute() wird als zweiter Parameter die Variabel $className übergeben. In dieser Variabel befindet sich der Klassenname, in der man sich eingeklinkt hat bzw. wenn man mit dem Eventlistener mehrehre Events gleichzeitig bearbeitet der Klassenname, der aktuell bearbeitet wird.

    $eventName


    An die Funktion execute() wird als dritter Parameter die Variabel $eventName übergeben. In dieser Variabel befindet sich der Eventname, in der man sich eingeklinkt hat bzw. wenn man mit dem Eventlistener mehrere Events gleichzeitig bearbeitet der Eventname, der aktuell bearbeitet wird.

    Beispiel


    PHP Source Code

    1. <?php
    2. namespace wcf\system\event\listener;
    3. class ExampleListener implements IEventListener {
    4. /**
    5. * @see \wcf\system\event\listener\IEventListener::execute()
    6. */
    7. public function execute($eventObj, $className, $eventName) {
    8. // some code
    9. }
    10. }
    Display All

    Gut zu wissen


    • Der Klassenname/Dateiname sollte immer mit Listener aufhören. Beispiele : ExampleListener, TestListener, PostAddListener etc.
    • Auch wenn es anders möglich ist, sollte der Eventlistener immer im Pfad ea/lib/system/event/listener/ abgelegt werden.


    Ihr habt Fragen oder Anregungen? Lob oder Kritik? Lasst es mich doch durch einen Kommentar von euch wissen!

    8,471 times viewed