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