Seite 2 von 2

Re: Mehrere Eventlistener in services.yml

Verfasst: 09.01.2015 19:19
von Elsensee
Ach so meintest du das. Ne, das hätte ich sofort ausschließen können. :D
Nur phpBB macht SQL-Querys, aus Symfony heraus macht das gar keinen Sinn, weil das ja ein Framework ist und auch ohne SQL-Datenbank funktionieren muss.

phpBB speichert nur in der Datenbank, welche Migrations schon mal durchgelaufen sind und bei den Extensions wird zu dem Namen lediglich gespeichert, ob sie aktiv ist und gegebenenfalls ob noch Daten vorhanden sind.

Das Restliche ist alles reiner PHP-Code und trotzdem dauert der erste Seitenaufruf nach Leeren des Caches immer so lange, weil halt der ganze Container im Cache-Ordner, der alle .ymls zusammenfasst, neu kompiliert werden muss. (Und je mehr Extensions aktiviert sind, umso länger dauert das :wink: )

Re: Mehrere Eventlistener in services.yml

Verfasst: 09.01.2015 20:15
von D@ve
Nur phpBB macht SQL-Querys, aus Symfony heraus macht das gar keinen Sinn
Das ist gerade sehr schwer voneinander abzugrenzen.

Re: Mehrere Eventlistener in services.yml

Verfasst: 09.01.2015 21:46
von Wolfsblvt
Ich halte meine Listener generell sehr kurz. Ich versuche, jegliche Programmlogik dort auszulagern. Das gefällt mir besser und ist wesentlich übersichtlicher.
Ein Beispiel dafür sieht man gut in meiner neuesten Extension: https://github.com/Wolfsblvt/advancedpo ... stener.php

Ich habe eine core-Klasse, die die Funktionen durchführt. Geliefert bekommen die entsprechenden Methoden die entsprechenden Daten aus den Events, so dass die Logik gekapselt von den Events selbst ist. Das halte ich für am Sinnvollsten.
Wenn meine core-Klasse nun also zu voll wird, kann ich das ganz einfach in mehrere Core-Klassen aufsplitten, die verschiedene Aufgaben erfüllen.

Finde das persönlich besser als mehrere Listener, weil man so in einem Listener sofort im Blick hat, auf welche Events diese Extension nun anspricht.

Re: Mehrere Eventlistener in services.yml

Verfasst: 10.01.2015 02:14
von D@ve
Ist eigentlich auch die korrekte Vorgehensweise. Lohnt aber nur bei größeren Extensions.

Wie kann ich eigentlich in meinem Listener statisch auf eine eigene Klasse bzw. deren statische Methoden/Properties zugreifen? es wird ja eigentlich immer eine Instanz übergeben...

Gruß, Dave

Re: Mehrere Eventlistener in services.yml

Verfasst: 10.01.2015 09:28
von nickvergessen
Ich würde versuchen statische Sachen zu vermeiden. Und wie es unstatisch geht steht in dem verlinkten Beispiel.