Files
breadcrumb-the-shire/docs/lib-standards.md

1.0 KiB

lib-Standards

Letzte Aktualisierung: 2026-02-23

Praktische Regeln nur für lib/**. Ergänzt docs/architektur.md.

1) Repository-Regeln

  • Verantwortlich für SQL, Filter, Paging und Mapping.
  • Keine HTTP-, Session-, Redirect- oder Policy-Logik.

2) Service-Regeln

  • Verantwortlich für Fachlogik und Orchestrierung.
  • Keine Superglobals ($_POST, $_GET, $_SESSION).
  • Keine Header- oder Redirect-Ausgabe.
  • Abhängigkeiten per Constructor Injection.

3) Instanziierung

  • Domain-Abhängigkeiten mit new nur in Factories/Bootstrap.
  • Für neue Domain-Logik keine statischen Utility-Klassen.

4) Autorisierung und Scope

  • Zentral über AuthorizationService und Policy-Abilities.
  • Keine verteilten Einzelchecks als primäre Zugriffslogik.

5) API-Contract

  • Extern UUID-first.
  • Interne IDs nur intern auflösen und mappen.

6) Definition of Done für lib/**

  1. Schichtgrenzen eingehalten.
  2. AuthZ zentral.
  3. Unit-Tests ergänzt, bei Strukturänderung zusätzlich Contract-Test.
  4. phpunit und phpstan grün.