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