fix(docs): resolve documentation drift and add missing content

- Fix fictional SettingGateway/SettingService references with actual
  multi-gateway pattern (AdminSettingsService + domain-specific gateways)
- Replace non-existent gridQueryLimitOffset()/gridQueryOrderDir() with
  actual gridParseFiltersFromSchemaFile()
- Normalize bin/doctor.php references to canonical bin/console doctor
- Add i18n_path contract to module manifest docs
- Document module:validate and make:module CLI commands
- Add APP_VENDOR_PHP_ISSUES_MODE env var to config reference
- Remove invalid label field from notifications module permissions
  (violates manifest schema additionalProperties: false)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 19:15:53 +01:00
parent a102bfb4bf
commit 3614421eda
10 changed files with 45 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
# Einstellungen: Speicherung (DB + Cache)
Letzte Aktualisierung: 2026-03-06
Letzte Aktualisierung: 2026-03-25
## Kurzfassung
@@ -14,7 +14,7 @@ Die Kombination ist bewusst so gebaut:
1. **DB als Wahrheit**
- Alle Settings werden persistiert in `settings`.
- Validierung und Schreiblogik laufen über `SettingService`.
- Validierung und Schreiblogik laufen über domänenspezifische Gateways und `AdminSettingsService`.
2. **Datei-Cache für Hot-Path-Reads**
- `config/settings.php` wird durch `SettingCacheService` geschrieben.
@@ -41,7 +41,7 @@ Daher ist es korrekt, wenn diese Werte in `settings` (DB) vorhanden sind, aber n
## Laufzeitfluss
1. Admin speichert Settings in `admin/settings`.
2. `SettingGateway` (aus `SettingServicesFactory`) delegiert auf `SettingService`, der in DB schreibt.
2. `AdminSettingsService` koordiniert domänenspezifische Gateways (z. B. `SettingsAppGateway`, `SettingsSmtpGateway`, `SettingsMetadataGateway`), die auf `SettingRepository` delegieren und in die DB schreiben.
3. `SettingCacheService` aktualisiert den Datei-Cache nur für den definierten Teilbereich.
4. UI-Helfer `appSetting(...)` liest danach aus Datei-Cache.