PHPStan
Einrichtung und Konfiguration der statischen Analyse
Benötigt wird: PHPstan
Die statische Analyse ist über phpstan.neon konfiguriert (Level 6, Baseline in phpstan-baseline.neon).
Ausführen
composer analyse
Die Analyse benötigt eine webtrees-Installation (für die app/-Klassen + vendor/autoload.php). Ausführen vom bind-mounted-Pfad:
cd /path/to/webtrees/modules_v4/linkenhancer
composer analyse
Konfiguration
- Level: 6
- Baseline:
phpstan-baseline.neon(bekannte Probleme) - Bootstrap:
phpstan-bootstrap.phpregistriert die PSR-4-Namespaces direkt (umgeht den versionsgeprüften Autoloader inwt-shared-libs) - Scan-Verzeichnisse:
../../app/(webtrees-Core-Klassen) - Ausgeschlossene Pfade:
LinkEnhancerModuleExt.php(Verwendung im Zusammenhang mit Vesta-Modulen) - Speichergrenze: 1G
- Parallel: deaktiviert (Single-Prozess, zuverlässiger in CI)
Wichtige Einstellungen
treatPhpDocTypesAsCertain: false— verhindert False Positives aus@var-AssertionsignoreErrorsfür:AccessLevelEnum (nur-Klasse in WT 2.3, in der 2.2-Laufzeit nicht verfügbar)DB::prefix('')— beabsichtigt (Präfix ohne Identifier holen)
Baseline neu generieren
Nach beabsichtigten Änderungen, die neue (akzeptable) Fehler einführen:
vendor/bin/phpstan analyse -c phpstan.neon --memory-limit=1G --generate-baseline=phpstan-baseline.neon
Hinweis: Dies über den direkten
vendor/bin/phpstan-Aufruf ausführen — dercomposer-Script-Wrapper leitet zusätzliche Argumente nicht weiter.