Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

Was sind Events? 

Ein Ereignis (englisch event) dient in der Softwaretechnik – bei Entwicklung nach dem ereignisorientieren Programmierparadigma – zur Steuerung des Programmflusses. Das Programm wird nicht linear durchlaufen, sondern es werden spezielle Ereignisbehandlungsroutinen (engl. listenerobserverevent handler) immer dann ausgeführt, wenn ein bestimmtes Ereignis auftritt. Ereignisorientierte Programmierung gehört zu den parallelen Programmiertechniken, hat also deren Vor- und Nachteile.

(Quelle: Wikipedia)

Integration in brandbox

...

Codeblock
languagephp
class ComponentValidatorSubscriber extends Event\EventSubscriberAbstract
{
    public static function getSubscribedEvents(): array
    {
        return [
            Event\TestEvent::class => ['onPopulateTest', 800],
        ];
    }

    public function onPopulateTest(Event\TestEvent $event): void
    {
        $this
            ->staticController(Lib\Listener\Test\PopulateTest::class)
            ->process($event)
        ;
    }
}

Wird im Subscriber auf ein Event verwiesen, dass nicht zur Verfügung steht (z.B. weil die App des referenzierten Events nicht installiert ist), wird kein harter Fehler mehr geworfen, sondern ein Debug-Eintrag ins Log geschrieben. Diese Log-Einträge sollten geprüft und, falls möglich, behoben werden.

Info
titleWichtiger Hinweis

Events, Listener und Subscriber dürfen nie außerhalb des Packages und der App aufgerufen oder instanziiert werden. Sie sind nicht Teil der Api. Änderungen an den Klassen gelten nicht als Breaking Change.

...