Upgrading
February 8, 2023 ยท View on GitHub
The change from previous versions to 9.0 is quite significant but should be really smooth for the user. The main changes are:
- Cache system used now the
symfony/cachecomponent and must bePSR-6compatible. - JUnit XML output did not use anymore the
n98/junit-xmldependency. Replaced by a nativeDOMDocumentimplementation. --jsonoption was renamed to--log-json--xmloption was renamed to--log-junitphp://stdoutalias to write results stream to standard output is automagically applied (default) when invokingphplintwithlog-jsonorlog-xmloptions.- Progress display has comestic evolved.
- New option --progress added to version 9.0 to be able to change progress display (default
printermode is legacy behavior).
For Developers (read also the Architecture Guide)
- API:
Overtrue\PHPLint\Finderis the central point to identify files to scan and use thesymfony/findercomponent. - API:
Overtrue\PHPLint\Extension\ProgressPrinterreplace the Linter process callback (seeOvertrue\PHPLint\Linter::setProcessCallback). - API:
Overtrue\PHPLint\Extension\ProgressBaruse the symfony/console progressBar helper - API:
Overtrue\PHPLint\Output\JsonOutputallow to log scan results in JSON format to file or standard output. - API:
Overtrue\PHPLint\Output\JunitOutputallow to log scan results in JUnit XML format to file or standard output. - API:
Overtrue\PHPLint\Event\EventDispatcheris the central point of event listener system and use thesymfony/event-dispatchercomponent. - API:
Overtrue\PHPLint\Configuration\ConsoleOptionsResolveris the configuration resolver for console CLI usage without YAML file and use thesymfony/options-resolvercomponent. - API:
Overtrue\PHPLint\Configuration\FileOptionsResolveris the configuration resolver for YAML file and use thesymfony/options-resolvercomponent.