PHP 8.4 formally deprecated implicitly nullable parameter types like function test(int $x = null). In a codebase of 400,000 lines, fixing them all in one PR was an impossible merge bottleneck.
# Generate a baseline specifically isolating the new deprecation pattern:
vendor/bin/phpstan analyse --generate-baseline=phpstan-php84-baseline.neon
# In phpstan.neon:
includes:
- phpstan-php84-baseline.neon
parameters:
phpVersion: 80400 # Enforce PHP 8.4 syntax rules on all new code
A separate baseline file for language deprecations allows CI to reject new instances in pull requests while allowing the team to burn down existing deprecations on a modular schedule.