php-parallel-lint/php-parallel-lint

This tool check syntax of PHP files about 20x faster than serial check.

v1.2.0 2020-04-04 12:18 UTC

README

Downloads this Month Build Status License

This tool checks syntax of PHP files faster than serial check with a fancier output. Running parallel jobs in PHP is inspired by Nette framework tests.

This works from PHP 5.4 to 7.4

Table of contents

  1. Installation
  2. Example output
  3. Fork
  4. Options for run
  5. Options for Symfony
  6. Create Phar package
  7. How upgrade

Installation

Just run the following command to install it:

composer require --dev php-parallel-lint/php-parallel-lint

When you cannot use tool as dependency then you can install as project. Command for it:

composer create-project php-parallel-lint/php-parallel-lint /path/to/folder/php-parallel-lint
/path/to/folder/php-parallel-lint/parallel-lint # running tool

For colored output also install the suggested package php-parallel-lint/php-console-highlighter:

composer require --dev php-parallel-lint/php-console-highlighter

Example output

Example use of tool with error

Fork

This is a fork of original project. Why I forked it and why I am the right man?

Options for run

  • -p <php> Specify PHP-CGI executable to run (default: 'php').
  • -s, --short Set short_open_tag to On (default: Off).
  • -a, --asp Set asp_tags to On (default: Off).
  • -e <ext> Check only files with selected extensions separated by comma. (default: php,php3,php4,php5,phtml,phpt)
  • --exclude Exclude a file or directory. If you want exclude multiple items, use multiple exclude parameters.
  • -j <num> Run jobs in parallel (default: 10).
  • --colors Force enable colors in console output.
  • --no-colors Disable colors in console output.
  • --no-progress Disable progress in console output.
  • --checkstyle Output results as Checkstyle XML.
  • --json Output results as JSON string (require PHP 5.4).
  • --blame Try to show git blame for row with error.
  • --git <git> Path to Git executable to show blame message (default: 'git').
  • --stdin Load files and folder to test from standard input.
  • --ignore-fails Ignore failed tests.
  • -h, --help Print this help.
  • -V, --version Display this application version.

Recommended setting for usage with Symfony framework

For run from command line:

vendor/bin/parallel-lint --exclude app --exclude vendor .

Create Phar package

PHP Parallel Lint supports Box app for creating Phar package. First, install box app:

curl -LSs https://box-project.github.io/box2/installer.php | php

and then run this command in parallel lint folder, which creates parallel-lint.phar file.

box build

How upgrade

Are you using original package? You can easy use this fork. Steps for upgrade are:

composer remove --dev jakub-onderka/php-parallel-lint
composer require --dev php-parallel-lint/php-parallel-lint