PHPStan configuration (WordPress)
This reference documents a minimal, WordPress-friendly PHPStan setup and baseline workflow.
Minimal phpstan.neon template
Use the repo’s existing layout. The example below is intentionally conservative and should be adapted to the project’s actual directories.
# Include the baseline only if the file exists.
includes:
- phpstan-baseline.neon
parameters:
level: 5
paths:
- src/
- includes/
excludePaths:
- vendor/
- vendor-prefixed/
- node_modules/
- tests/
ignoreErrors:
# Add targeted exceptions only when necessary.Guidelines:
- Prefer analyzing first-party code only.
- Exclude anything generated or vendored.
- Keep
ignoreErrorspatterns narrow and grouped by dependency.
Baseline workflow
Baselines help you adopt PHPStan in legacy code without accepting new regressions.
# Generate a baseline (explicit filename)
vendor/bin/phpstan analyse --generate-baseline phpstan-baseline.neon
# Update an existing baseline (defaults)
vendor/bin/phpstan analyse --generate-baselineBest practices:
- Avoid adding new errors to the baseline; fix the new code instead.
- Treat baseline changes like code changes: review in PRs.
- Chip away at the baseline gradually (remove entries as you fix root causes).