// the find
overtrue/phplint
:bug: A tool that can speed up linting of php files by running several lint processes at once.
PHPLint parallelizes `php -l` across multiple processes to catch syntax errors faster than running it serially. It's a CI tool for PHP projects that want fast feedback on syntax validity before anything heavier like PHPStan or PHPCS runs. The v9 rewrite cleaned up a messy history of forked version trees into a single codebase.
Parallel linting via Symfony Process is the right implementation — spawning multiple `php -l` workers saturates CPU without the overhead of a PHP thread model. Output format support is broad: JSON, JUnit, Checkstyle, SARIF — meaning it plugs into basically any CI reporting pipeline. The extension system lets you hook into before/after lint events, which is useful if you need custom reporting or integration logic. Documentation is genuinely good for a tool this size, with UML diagrams of the architecture and separate docs per CI platform.
The `looking-for-maintainer` tag is a yellow flag — the original author is stepping back, and a linting tool that falls behind PHP releases becomes a liability. It only catches syntax errors that `php -l` would catch; it cannot detect undefined variables, type mismatches, or anything semantic. For projects already running PHPStan or Psalm on CI, this adds a step that those tools effectively cover as a side effect. The version table shows an aggressive EOL cadence — nine minor versions killed off in one cycle — which suggests dependency management could be painful in large monorepos with locked versions.