Mehrere Eventlistener in services.yml

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
Elsensee
Ehemaliges Teammitglied
Beiträge: 832
Registriert: 19.05.2010 15:14
Wohnort: Hamburg
Kontaktdaten:

Re: Mehrere Eventlistener in services.yml

Beitrag 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: )
Posts mostly powered by GitHub and phpBB.de Cross-Reference

2015-03-20 - Never forget 8)
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Re: Mehrere Eventlistener in services.yml

Beitrag von D@ve »

Nur phpBB macht SQL-Querys, aus Symfony heraus macht das gar keinen Sinn
Das ist gerade sehr schwer voneinander abzugrenzen.
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
Wolfsblvt
Mitglied
Beiträge: 29
Registriert: 26.10.2014 22:15

Re: Mehrere Eventlistener in services.yml

Beitrag 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.
Lesser, greater, middling, it's all the same. Proportions are negotiated, boundaries blurred.
I'm not a pious hermit, I haven't done only good in my life. But if I'm to choose between one evil and another,
then I prefer not to choose at all.
― Andrzej Sapkowski, The Last Wish
Benutzeravatar
D@ve
Ehemaliges Teammitglied
Beiträge: 3842
Registriert: 28.08.2002 19:33
Wohnort: Bretzfeld
Kontaktdaten:

Re: Mehrere Eventlistener in services.yml

Beitrag 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
There are only 10 types of people in the world: Those who understand binary, and those who don't
Benutzeravatar
nickvergessen
Ehrenadmin
Beiträge: 11559
Registriert: 09.10.2006 21:56
Wohnort: Stuttgart, Germany
Kontaktdaten:

Re: Mehrere Eventlistener in services.yml

Beitrag von nickvergessen »

Ich würde versuchen statische Sachen zu vermeiden. Und wie es unstatisch geht steht in dem verlinkten Beispiel.
kein Support per PN
Antworten

Zurück zu „Extension Bastelstube“