Skip to content
Use this GitHub Action with your project

Add this Action to an existing workflow or create a new one.

View on Marketplace
master
Go to file
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
bin
Dec 27, 2017
src
Apr 23, 2020
cs.
Apr 16, 2020
Apr 20, 2020
Apr 20, 2020
Jul 26, 2016
Apr 18, 2020

README.md

PHPLint

`phplint` is a tool that can speed up linting of php files by running several lint processes at once.

artboard 1

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Scrutinizer Code Quality FOSSA Status

Installation

Locally, if you have PHP

$ composer require overtrue/phplint --dev -vvv

Locally, if you only have Docker

docker pull overtrue/phplint:latest

Usage

CLI

Usage:
  phplint [options] [--] [<path>]...

Arguments:
  path                               Path to file or directory to lint.

Options:
      --exclude=EXCLUDE              Path to file or directory to exclude from linting (multiple values allowed)
      --extensions=EXTENSIONS        Check only files with selected extensions (default: php)
  -j, --jobs=JOBS                    Number of parallel jobs to run (default: 5)
  -c, --configuration=CONFIGURATION  Read configuration from config file (default: ./.phplint.yml).
      --no-configuration             Ignore default configuration file (default: ./.phplint.yml).
      --no-cache                     Ignore cached data.
      --cache=CACHE                  Path to the cache file.
      --json[=JSON]                  Output JSON results to a file.
      --xml[=XML]                    Output JUnit XML results to a file.
  -h, --help                         Display this help message
  -q, --quiet                        Do not output any message
  -V, --version                      Display this application version
      --ansi                         Force ANSI output
      --no-ansi                      Disable ANSI output
  -n, --no-interaction               Do not ask any interactive question
  -v|vv|vvv, --verbose               Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
Help:
 Lint something

example:

$ ./vendor/bin/phplint ./ --exclude=vendor

You can also define configuration as a file .phplint.yml:

path: ./
jobs: 10
cache: build/phplint.cache
extensions:
  - php
exclude:
  - vendor
$ ./vendor/bin/phplint

By default, the command will read configuration from file .phplint.yml of path specified, you can custom the filename by option: --configuration=FILENAME or -c FILENAME;

If you want to disable the config file, you can add option --no-configuration.

Program

use Overtrue\PHPLint\Linter;

$path = __DIR__ .'/app';
$exclude = ['vendor'];
$extensions = ['php'];

$linter = new Linter($path, $exclude, $extensions);

// get errors
$errors = $linter->lint();

//
// [
//    '/path/to/foo.php' => [
//          'error' => "unexpected '$key' (T_VARIABLE)",
//          'line' => 168,
//          'file' => '/path/to/foo.php',
//      ],
//    '/path/to/bar.php' => [
//          'error' => "unexpected 'class' (T_CLASS), expecting ',' or ';'",
//          'line' => 28,
//          'file' => '/path/to/bar.php',
//      ],
// ]

GitHub Actions

uses: overtrue/phplint@master
with:
  path: .
  options: --exclude=*.log

Other CI/CD (f.e. Bitbucket Pipelines, GitLab CI)

Run this command using overtrue/phplint:latest Docker image:

/root/.composer/vendor/bin/phplint ./ --exclude=vendor

PHP 扩展包开发

想知道如何从零开始构建 PHP 扩展包?

请关注我的实战课程,我会在此课程中分享一些扩展开发经验 —— 《PHP 扩展包实战教程 - 从入门到发布》

License

MIT

FOSSA Status

You can’t perform that action at this time.