Hallo,
nachdem wir die technische Basis unserer WoltLab Suite in den letzten Versionen stückweise modernisiert haben, indem beispielsweise eigene Lösungen durch bekannte Bibliotheken (Guzzle in 5.3) ersetzt, das Session-System auf den aktuellen Stand der Technik gebracht (5.4), JavaScript durch TypeScript ersetzt (5.4) und auch das Event-System an die Konzepte gängiger Frameworks und andere Programmiersprachen angeglichen wurde (5.5) möchten wir mit WoltLab Suite 5.5 einen weiteren Schritt der Modernisierung angehen.
Beginnend mit WoltLab Suite 5.5 möchten wir Unterstützung für die objekt-orientierte Verarbeitung von Anfragen auf Basis von PSR-7 integrieren. Diese Integration soll stückweise im Rahmen der kommenden WoltLab Suite-Versionen erfolgen und nach und nach erweitert werden. Bekannt ist das ganze Konzept aus Symfony und Laravel, dort in Form von Symfonys HttpFoundation. Die HttpFoundation hat gegenüber PSR-7 einige Unterschiede im Detail, die generelle Funktionsweise ist aber die gleiche.
In WoltLab Suite 5.5 beginnen wir damit, dass die Suite Unterstützung dafür bekommt, dass die HTTP-Antwort optional in Form eines Objekts, das das ResponseInterface-Interface implementiert, zurückgegeben werden kann.
Alle Details finden sich in den WoltLab/WCF PRs #4437 (als Meta-PR, der andere PRs sammelt) und #4436 als PoC der Implementierung:


Die weitere Evolution in den Versionen nach WoltLab Suite 5.5 hängt davon ab, wie gut sich dieser erste Schritt in der Praxis bewährt und wie gut das ganze in Plugins angenommen wird.
Wir freuen uns auf euer Feedback, präferiert zentral als Antworten und Review am Pull Request auf GitHub, und beantworten gerne eure Fragen bezüglich des Vorgehens.