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/cache
component and must bePSR-6
compatible. - JUnit XML output did not use anymore the
n98/junit-xml
dependency. Replaced by a nativeDOMDocument
implementation. --json
option was renamed to--log-json
--xml
option was renamed to--log-junit
php://stdout
alias to write results stream to standard output is automagically applied (default) when invokingphplint
withlog-json
orlog-xml
options.- Progress display has comestic evolved.
- New option --progress added to version 9.0 to be able to change progress display (default
printer
mode is legacy behavior).
For Developers (read also the Architecture Guide)
- API:
Overtrue\PHPLint\Finder
is the central point to identify files to scan and use thesymfony/finder
component. - API:
Overtrue\PHPLint\Extension\ProgressPrinter
replace the Linter process callback (seeOvertrue\PHPLint\Linter::setProcessCallback
). - API:
Overtrue\PHPLint\Extension\ProgressBar
use the symfony/console progressBar helper - API:
Overtrue\PHPLint\Output\JsonOutput
allow to log scan results in JSON format to file or standard output. - API:
Overtrue\PHPLint\Output\JunitOutput
allow to log scan results in JUnit XML format to file or standard output. - API:
Overtrue\PHPLint\Event\EventDispatcher
is the central point of event listener system and use thesymfony/event-dispatcher
component. - API:
Overtrue\PHPLint\Configuration\ConsoleOptionsResolver
is the configuration resolver for console CLI usage without YAML file and use thesymfony/options-resolver
component. - API:
Overtrue\PHPLint\Configuration\FileOptionsResolver
is the configuration resolver for YAML file and use thesymfony/options-resolver
component.