MainController (Engine, Manager und Subscriber)
API
Die Basis-Controller (Engine|Manager.php) repräsentieren die öffentliche API eines Packages.
Aufrufe aus anderen Packages oder aus der UI dürfen nur an diese API gerichtet sein.
Innerhalb eines Packages müssen auf eigene Engine-Aufrufe verzichtet werden, stattdessen müssen die Execute-/Request-Controller verwendet werden.
Durch diese Regeln wird es möglich, einen sauberen „Fluss“ zu gewährleisten.
Außerdem sind Signatur-Änderungen in Executes/Requests keine Major Changes sondern Minor Changes.
Regeln bei der Verwendung von Parametern (Signatur)
Alle Parameter, die über die Signatur der Basis-Controller (Engine|Manager.php) kommen, gelten als „unsauber“
Alle Parameter, die über die Signatur der Executes-/Requests-Controller kommen, müssen „sauber“ sein.
Parameter eines Aufrufs im Basis-Controller müssen dort sauber aufgearbeitet werden, entweder als richtige Config-Objekte oder als Parameter für die Execute-/Request-Controller
Es gibt keinen $params Parameter in Execute-/Request-Controllern (sonst wären „unsaubere“ Inhalte in „sauberen“ Controllern)
Allgemein sollten $params vermieden werden, insbesondere für Konfigurationsvariablen