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

Overview

PHPLint

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

artboard 1

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

Installation

Locally, if you have PHP

// PHP 8
$ composer require overtrue/phplint --dev -vvv

// PHP 7
$ composer require overtrue/phplint:^2.0 --dev -vvv

Locally, if you only have Docker

// PHP 8
docker pull overtrue/phplint:8.0

// PHP 7
docker pull overtrue/phplint:7.0

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.
  -w, --warning                      Also show warnings
  -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
warning: false
$ ./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.

Docker cli

$ docker run overtrue/phplint ./  --exclude=vendor

Program

168, // 'file' => '/path/to/foo.php', // ], // '/path/to/bar.php' => [ // 'error' => "unexpected 'class' (T_CLASS), expecting ',' or ';'", // 'line' => 28, // 'file' => '/path/to/bar.php', // ], // ] ">
use Overtrue\PHPLint\Linter;

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

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

// 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/[email protected]
with:
  path: .
  options: --exclude=*.log

for PHP 7:

uses: overtrue/[email protected]

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

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

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

Warnings

Not all linting problems are errors, PHP also has warnings, for example when using a continue statement within a switch case. By default these errors are not reported, but you can turn this on with the warning cli flag, or by setting the warning to true in the configuration.

PHP 扩展包开发

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

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

License

MIT

Comments
  • Can't disable cache in file

    Can't disable cache in file

    Cache can't be disabled in the file because of usage of $input->getOption('no-cache') instead of merged $options['no-cache'] in LintCommand::execute()

    bug 
    opened by vlakarados 14
  • Docker version does not accept arguments

    Docker version does not accept arguments

    Hello,

    I've noticed when running current docker version of phplint 3.0.3 that it does not accept any arguments, and always give the same results. There is also two other points to notice:

    • always print the command ran + /root/.composer/vendor/bin/phplint (debugging purpose only, not required in production mode); see x in https://github.com/overtrue/phplint/blob/3.0.3/entrypoint.sh#L3
    • console output is not colorized even if terminal accept it !

    See following screenshot.

    Using Docker version 20.10.8, build 3967b7d

    phplint_issues

    I'll propose a PR just after to fix all three previous points. See following screenshot as preview

    phplint_fixes

    opened by llaville 13
  • Composer dependencies require a PHP version = 8.0.2".">

    Composer dependencies require a PHP version ">= 8.0.2".

    Since your last update I get this error:

    PHP Fatal error:  Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.0.2". You are running 7.4.26. in /root/.composer/vendor/composer/platform_check.php on line 24
    

    I'm using your 7.4 version

    opened by vebe 10
  • Read configuration file

    Read configuration file

    It would be better if the project can provide an option where it will a configuration file to read in linting specific folders or files instead of explicitly define them over the cli.

    opened by rmrhz 10
  • Run failures in Github Actions

    Run failures in Github Actions

    We've started seeing Action failures with phplint. We first noticed errors on Monday complaining about a PHP 8 requirement (we're using overtrue/[email protected]). That error went away and is now replaced by another error that indicates the path configuration we have setup in the workflow isn't respected:

    Run overtrue/[email protected]
      with:
        path: sites/all/modules/custom
    /usr/bin/docker run --name b621dc541541e9946aca4496eae9bd2c30f_d3dae0 --label 905b62 --workdir /github/workspace --rm -e INPUT_PATH -e INPUT_OPTIONS -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_RUN_ATTEMPT -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_REF_NAME -e GITHUB_REF_PROTECTED -e GITHUB_REF_TYPE -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_ARCH -e RUNNER_NAME -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/fsrd7/fsrd7":"/github/workspace" 905b62:1dc541541e9946aca4496eae9bd2c30f
    phplint 3.0 by overtrue and contributors.
    
    No config file loaded.
    
    .......................................   40 / 10529 (0%)
    

    There are only 600 or so files in sites/all/modules/custom folder, so to me, it appears that it's not respecting the path provided in the workflow file.

    Another case has it running out of memory right around 14000 files (and again, only 600 or so files in the specified folder):

    ........................................ 14360 / 14414 (99%)
    ........................................ 14400 / 14414 (99%)
    PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in /root/.composer/vendor/overtrue/phplint/src/Cache.php on line 65
    ...............
    Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2097152 bytes) in /root/.composer/vendor/overtrue/phplint/src/Cache.php on line 65
    
    bug Work in progress 
    opened by purdy 9
  • Docker version build failed when git tag is pushed

    Docker version build failed when git tag is pushed

    Read https://docs.github.com/en/actions/learn-github-actions/environment-variables to learn more about GITHUB_REF env variable used by Docker workflow (see statement run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})").

    Suggestion: prevent Docker workflow running if GITHUB_REF_TYPE is not branch

    bug 
    opened by llaville 8
  • Scheduling new releases v3/v4/v5

    Scheduling new releases v3/v4/v5

    @overtrue I think we are almost ready for new releases

    • v3 on branch 7.4
    • v4 on branch 8.0
    • v5 on branch 8.1

    As we have introduced a little new feature (overriding memory_limit by config file; see #137), I suggest to bump Application versions to 3.2, 4.3 and 5.3 / Are you agree ?

    We are still waiting feedback from issues #125 and #132

    Issue(s) fixed :

    • #139
    • #142
    opened by llaville 8
  • Docker version of branch 7.4 still use phplint v2.0

    Docker version of branch 7.4 still use phplint v2.0

    As I've commented https://github.com/overtrue/phplint/issues/104#issuecomment-979731434 phplint still use version 2.0 in Dockerfile of branch 7.4, and is outdated. Latest version supporting PHP 7 is v3.0.0, while latest version 3.0.3 (3.0.1 or greater) support PHP 8

    phplint_docker_74

    PR is on way to fix it !

    opened by llaville 8
  • Problem with symbolic links

    Problem with symbolic links

    I am using phplint from gitlab with repositories that contain symbolic links where targets are not inside the repository. phplint seems not to be able to handle this and dies with exception. Version is 1.2.1.

    Config is:

    path: ./
    jobs: 10
    cache: .phplint-cache
    extensions:
      - php
    exclude:
      - vendor
    
     There was 1 errors:
    1. 0:0
    PHP Warning:  file(0): failed to open stream: No such file or directory in /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php on line 314
    PHP Stack trace:
    PHP   1. {main}() /builds/my-project/vendor/overtrue/phplint/bin/phplint:0
    PHP   2. Symfony\Component\Console\Application->run() /builds/my-project/vendor/overtrue/phplint/bin/phplint:32
    PHP   3. Symfony\Component\Console\Application->doRun() /builds/my-project/vendor/symfony/console/Application.php:130
    PHP   4. Symfony\Component\Console\Application->doRunCommand() /builds/my-project/vendor/symfony/console/Application.php:228
    PHP   5. Symfony\Component\Console\Command\Command->run() /builds/my-project/vendor/symfony/console/Application.php:874
    PHP   6. Overtrue\PHPLint\Command\LintCommand->execute() /builds/my-project/vendor/symfony/console/Command/Command.php:264
    PHP   7. Overtrue\PHPLint\Command\LintCommand->showErrors() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:207
    PHP   8. Overtrue\PHPLint\Command\LintCommand->getHighlightedCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:298
    PHP   9. Overtrue\PHPLint\Command\LintCommand->getCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:347
    PHP  10. file() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:314
    PHP Warning:  array_slice() expects parameter 1 to be array, boolean given in /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php on line 318
    PHP Stack trace:
    PHP   1. {main}() /builds/my-project/vendor/overtrue/phplint/bin/phplint:0
    PHP   2. Symfony\Component\Console\Application->run() /builds/my-project/vendor/overtrue/phplint/bin/phplint:32
    PHP   3. Symfony\Component\Console\Application->doRun() /builds/my-project/vendor/symfony/console/Application.php:130
    PHP   4. Symfony\Component\Console\Application->doRunCommand() /builds/my-project/vendor/symfony/console/Application.php:228
    PHP   5. Symfony\Component\Console\Command\Command->run() /builds/my-project/vendor/symfony/console/Application.php:874
    PHP   6. Overtrue\PHPLint\Command\LintCommand->execute() /builds/my-project/vendor/symfony/console/Command/Command.php:264
    PHP   7. Overtrue\PHPLint\Command\LintCommand->showErrors() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:207
    PHP   8. Overtrue\PHPLint\Command\LintCommand->getHighlightedCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:298
    PHP   9. Overtrue\PHPLint\Command\LintCommand->getCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:347
    PHP  10. array_slice() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:318
    PHP Warning:  end() expects parameter 1 to be array, null given in /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php on line 319
    PHP Stack trace:
    PHP   1. {main}() /builds/my-project/vendor/overtrue/phplint/bin/phplint:0
    PHP   2. Symfony\Component\Console\Application->run() /builds/my-project/vendor/overtrue/phplint/bin/phplint:32
    PHP   3. Symfony\Component\Console\Application->doRun() /builds/my-project/vendor/symfony/console/Application.php:130
    PHP   4. Symfony\Component\Console\Application->doRunCommand() /builds/my-project/vendor/symfony/console/Application.php:228
    PHP   5. Symfony\Component\Console\Command\Command->run() /builds/my-project/vendor/symfony/console/Application.php:874
    PHP   6. Overtrue\PHPLint\Command\LintCommand->execute() /builds/my-project/vendor/symfony/console/Command/Command.php:264
    PHP   7. Overtrue\PHPLint\Command\LintCommand->showErrors() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:207
    PHP   8. Overtrue\PHPLint\Command\LintCommand->getHighlightedCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:298
    PHP   9. Overtrue\PHPLint\Command\LintCommand->getCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:347
    PHP  10. end() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:319
    PHP Warning:  key() expects parameter 1 to be array, null given in /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php on line 320
    PHP Stack trace:
    PHP   1. {main}() /builds/my-project/vendor/overtrue/phplint/bin/phplint:0
    PHP   2. Symfony\Component\Console\Application->run() /builds/my-project/vendor/overtrue/phplint/bin/phplint:32
    PHP   3. Symfony\Component\Console\Application->doRun() /builds/my-project/vendor/symfony/console/Application.php:130
    PHP   4. Symfony\Component\Console\Application->doRunCommand() /builds/my-project/vendor/symfony/console/Application.php:228
    PHP   5. Symfony\Component\Console\Command\Command->run() /builds/my-project/vendor/symfony/console/Application.php:874
    PHP   6. Overtrue\PHPLint\Command\LintCommand->execute() /builds/my-project/vendor/symfony/console/Command/Command.php:264
    PHP   7. Overtrue\PHPLint\Command\LintCommand->showErrors() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:207
    PHP   8. Overtrue\PHPLint\Command\LintCommand->getHighlightedCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:298
    PHP   9. Overtrue\PHPLint\Command\LintCommand->getCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:347
    PHP  10. key() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:320
    PHP Warning:  Invalid argument supplied for foreach() in /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php on line 323
    PHP Stack trace:
    PHP   1. {main}() /builds/my-project/vendor/overtrue/phplint/bin/phplint:0
    PHP   2. Symfony\Component\Console\Application->run() /builds/my-project/vendor/overtrue/phplint/bin/phplint:32
    PHP   3. Symfony\Component\Console\Application->doRun() /builds/my-project/vendor/symfony/console/Application.php:130
    PHP   4. Symfony\Component\Console\Application->doRunCommand() /builds/my-project/vendor/symfony/console/Application.php:228
    PHP   5. Symfony\Component\Console\Command\Command->run() /builds/my-project/vendor/symfony/console/Application.php:874
    PHP   6. Overtrue\PHPLint\Command\LintCommand->execute() /builds/my-project/vendor/symfony/console/Command/Command.php:264
    PHP   7. Overtrue\PHPLint\Command\LintCommand->showErrors() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:207
    PHP   8. Overtrue\PHPLint\Command\LintCommand->getHighlightedCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:298
    PHP   9. Overtrue\PHPLint\Command\LintCommand->getCodeSnippet() /builds/my-project/vendor/overtrue/phplint/src/Command/LintCommand.php:347
     Could not open input file:
    
    opened by StrathCole 8
  • Available as a PHAR?

    Available as a PHAR?

    Is this available as a standalone PHAR? If not could it be, under Releases I can see source code downloads but if a standalone package was to be distributed that would be a good place to store it under?

    opened by jdrydn 8
  • "Inappropriate ioctl for device" when used as composer script

    Hi, first of all thank you for this great tool! Simple yet effective, just does what it's supposed to!

    I noticed a small issue when being used as a script in composer.json. Running the phplint from the /vendor/bin directory directly works as expected:

    phplint 0.2.4 by overtrue and contributors.
    
    Loaded config from "/~/.phplint.yml"
    
    Using cache.
    E
    
    Time: < 1 sec, Memory: 2.0 MiBMB
    
    FAILURES!
    Files: 6, Failures: 1
    
    There was 1 errors:
    1. /~/tests/Unit/Controller/ControllerTest.php:18
     unexpected '$service' (T_VARIABLE) in line 18
    

    However, running it as a composer script (e.g. composer lint:syntax) will display stty warnings:

    > ./vendor/bin/phplint
    phplint 0.2.4 by overtrue and contributors.
    
    Loaded config from "/~/.phplint.yml"
    
    Using cache.
    stty: 'standard input': Inappropriate ioctl for device
    stty: 'standard input': Inappropriate ioctl for device
    E
    
    Time: < 1 sec, Memory: 2.0 MiBMB
    
    FAILURES!
    Files: 6, Failures: 1
    
    There was 1 errors:
    1. /~/tests/Unit/Controller/ControllerTest.php:18
     unexpected '$service' (T_VARIABLE) in line 18
    Script ./vendor/bin/phplint handling the lint:syntax event returned with error code 1
    

    The script is defined in composer.json as follows:

    "lint:syntax": "./vendor/bin/phplint"
    

    I am using phplint 0.2.4 with PHP 7.2 and composer 1.5.6 on Ubuntu 17.10.

    It is noteworthy that colors are working when running phplint directly (./vendor/bin/phplint) but not when being run from composer (composer lint:syntax). I guess that the stty error messages are related to the coloring of the phplint output.

    Also note that I am successfully using composer scripts for other similar tools like phpcs, phpmd and phpunit, and no such error messages appear in any of these. Colors in phpunit are also working when being run through composer scripts.

    If you need any additional information or I can do anything to resolve this issue, let me know.

    Thanks!

    opened by MHarutunian 8
  • About current unstable versions and future

    About current unstable versions and future

    I am aware that I have been too quickly released the new versions v6.0.x, v5.4.x, v4.4.x and v3.3.x which reveal some regressions. As it is not my habit to provide such results, I wished :

    • [X] Return to the stable situation we had with v5.3, v4.3 and v3.2 by reverting the source code, and publish new releases quickly
    • [ ] Open a new main branch that will support the new, more stable and compliant development for future version 7.0
    • [ ] When code will be really stable, publish a major version 7.0 that will support PHP 7.4, 8.0, 8.1 and 8.2, and remove other branches to avoid dupplicated code (hard to maintain)
    • [ ] Add unit tests to avoid regressions again

    Hope @overtrue you're agree with my roadmap !

    What does it means :

    • for @vlakarados on issue #163 : Please do not use the cache option in YAML config file to disable cache subsystem, but rather the --no-cache option
    • Short option nf did not work, and will not be restored (see issue #167)
    opened by llaville 9
  • Loosing of settings from config file

    Loosing of settings from config file

    Right now with ConfigResolver we loose configuration options like #163 because of array_replace_recursive:

    final class ConfigResolver
    {
        public function resolve(): array
        {
            // ...
    
            // It loads $conf values from configuration file:
    
            $conf = $this->loadConfiguration($this->options[self::OPTION_CONFIG_FILE]);
    
            // But here default $this->options values replace $conf values:
    
            $conf = array_replace_recursive($conf, $this->options);
    
            // ...
        }
    }
    
    opened by ElisDN 7
Releases(6.1.0)
  • 6.1.0(Dec 28, 2022)

    CAUTION This version is equivalent to v6.0.0 with following changes.

    • Github Actions : Workflows changes from 6.0.0 until 6.0.4 were kept.
    • Highlight PHP code in terminal package migration by @llaville : #157
    • Short option nf did not work by @llaville : #167
    • Add instructions for Gitlab CI usage by @matheusab : #162
    • Cosmetic fix with php-parallel-lint/php-console-highlighter dependency by @llaville : #172
    • Raise symfony component constraints to latest LTS (5.4) by @llaville
    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.34 MB)
  • 5.5.0(Dec 28, 2022)

    CAUTION This version is equivalent to v5.3.0 with following changes.

    • Github Actions : Workflows changes from 5.3.0 until 5.4.2 were kept.
    • Highlight PHP code in terminal package migration by @llaville : #157
    • Short option nf did not work by @llaville : #167
    • Add instructions for Gitlab CI usage by @matheusab : #158
    • Cosmetic fix with php-parallel-lint/php-console-highlighter dependency by @llaville : #172
    • Raise symfony component constraints to latest LTS (5.4) by @llaville
    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.34 MB)
  • 4.5.0(Dec 28, 2022)

    CAUTION This version is equivalent to v4.3.0 with following changes.

    • Github Actions : Workflows changes from 4.4.0 until 4.4.1 were kept.
    • Highlight PHP code in terminal package migration by @llaville : #157
    • Short option nf did not work by @llaville : #167
    • Add instructions for Gitlab CI usage by @matheusab : #160
    • Cosmetic fix with php-parallel-lint/php-console-highlighter dependency by @llaville : #172
    • Raise symfony component constraints to latest LTS (5.4) by @llaville
    Source code(tar.gz)
    Source code(zip)
    phplint.phar(12.85 MB)
  • 3.4.0(Dec 28, 2022)

    3.4.0

    CAUTION This version is equivalent to v3.2.0 with following changes.

    • Github Actions : Workflows changes from 3.3.0 until 3.3.2 were kept.
    • Drop support to PHP 5 #155, PHP 7.0, 7.1, 7.2, and 7.3
    • Highlight PHP code in terminal package migration by @llaville : #157
    • Short option nf did not work by @llaville : #167
    • PHP-CS-Fixer migration to v3 by @llaville : #156
    • Cosmetic fix with php-parallel-lint/php-console-highlighter dependency by @llaville : #172
    • Add instructions for Gitlab CI usage by @matheusab : #161
    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.31 MB)
  • 6.0.4(Dec 23, 2022)

  • 5.4.2(Dec 23, 2022)

  • 4.4.1(Dec 23, 2022)

  • 3.3.2(Dec 23, 2022)

  • 6.0.3(Dec 22, 2022)

    What's Changed

    • rename memory_limit to memory-limit in YAML config file
    • fix issue #167 by @llaville : Short option nf did not work
    • fix issue #163 by @llaville : Can't disable cache in file
    • fix issue #152 by @llaville : Docker version build failed when git tag is pushed
    • enhance display #164 by @llaville
    • Highlight PHP code in terminal package migration by @llaville : #157
    • PHP-CS-Fixer migration to v3 by @llaville : #156
    • Drop support of PHP 5 by @llaville : #155
    • Add instructions for Gitlab CI usage by @matheusab

    Full Changelog: https://github.com/overtrue/phplint/compare/6.0.0...6.0.3

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.41 MB)
  • 5.4.1(Dec 22, 2022)

    What's Changed

    • rename memory_limit to memory-limit in YAML config file
    • fix issue #167 by @llaville : Short option nf did not work
    • fix issue #163 by @llaville : Can't disable cache in file
    • fix issue #152 by @llaville : Docker version build failed when git tag is pushed
    • enhance display #164 by @llaville
    • Highlight PHP code in terminal package migration by @llaville : #157
    • PHP-CS-Fixer migration to v3 by @llaville : #156
    • Drop support of PHP 5 by @llaville : #155
    • Add instructions for Gitlab CI usage by @matheusab

    Full Changelog: https://github.com/overtrue/phplint/compare/5.3.0...5.4.1

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.41 MB)
  • 4.4.0(Dec 22, 2022)

    What's Changed

    • rename memory_limit to memory-limit in YAML config file
    • fix issue #167 by @llaville : Short option nf did not work
    • fix issue #163 by @llaville : Can't disable cache in file
    • fix issue #152 by @llaville : Docker version build failed when git tag is pushed
    • enhance display #164 by @llaville
    • Highlight PHP code in terminal package migration by @llaville : #157
    • PHP-CS-Fixer migration to v3 by @llaville : #156
    • Drop support of PHP 5 by @llaville : #155
    • Add instructions for Gitlab CI usage by @matheusab

    Full Changelog: https://github.com/overtrue/phplint/compare/4.3.0...4.4.0

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(12.92 MB)
  • 3.3.1(Dec 22, 2022)

    What's Changed

    • rename memory_limit to memory-limit in YAML config file
    • fix issue #167 by @llaville : Short option nf did not work
    • fix issue #163 by @llaville : Can't disable cache in file
    • fix issue #152 by @llaville : Docker version build failed when git tag is pushed
    • enhance display #164 by @llaville
    • Highlight PHP code in terminal package migration by @llaville : #157
    • PHP-CS-Fixer migration to v3 by @llaville : #156
    • Drop support of PHP 5 by @llaville : #155
    • Add instructions for Gitlab CI usage by @matheusab

    Full Changelog: https://github.com/overtrue/phplint/compare/3.2.0...3.3.1

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.31 MB)
  • 6.0.0(Sep 26, 2022)

  • 5.3.0(Jul 13, 2022)

    What's Changed

    • Added memory_limit option to set the memory limit for each linter process. #137 by @llaville in https://github.com/overtrue/phplint/pull/138
    • fix issue #142 by @llaville in https://github.com/overtrue/phplint/pull/143
    • Update jetbrains/phpstorm-stubs requirement from ^2021.3 to ^2021.3 || ^2022.0 by @dependabot in https://github.com/overtrue/phplint/pull/146
    • fix issue #139 for branch 8.1 by @llaville in https://github.com/overtrue/phplint/pull/147

    New Contributors

    • @dependabot made their first contribution in https://github.com/overtrue/phplint/pull/146

    Full Changelog: https://github.com/overtrue/phplint/compare/5.2.2...5.3.0

    Source code(tar.gz)
    Source code(zip)
  • 4.3.0(Jul 13, 2022)

    What's Changed

    • Added memory_limit option to set the memory limit for each linter process. #137 for branch 8.0 by @llaville in https://github.com/overtrue/phplint/pull/140
    • Composer patches 80 by @llaville in https://github.com/overtrue/phplint/pull/145

    Full Changelog: https://github.com/overtrue/phplint/compare/4.2.1...4.3.0

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(12.84 MB)
  • 3.2.0(Jul 13, 2022)

    What's Changed

    • Added memory_limit option to set the memory limit for each linter process. #137 for branch 7.4 by @llaville in https://github.com/overtrue/phplint/pull/141
    • Composer patches by @llaville in https://github.com/overtrue/phplint/pull/144

    Full Changelog: https://github.com/overtrue/phplint/compare/3.1.1...3.2.0

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(13.15 MB)
  • 5.2.2(Jun 21, 2022)

    What's Changed

    • Update version to 5.2 by @vkryklyvenko in https://github.com/overtrue/phplint/pull/135

    Full Changelog: https://github.com/overtrue/phplint/compare/5.2.1...5.2.2

    Source code(tar.gz)
    Source code(zip)
  • 4.2.1(Jun 21, 2022)

  • 3.1.1(Jun 21, 2022)

  • 5.2.1(Jun 18, 2022)

  • 5.2.0(Jun 9, 2022)

    What's Changed

    • Add no-files-exit-code option to 8.1 by @vkryklyvenko in https://github.com/overtrue/phplint/pull/128

    Full Changelog: https://github.com/overtrue/phplint/compare/5.1.0...5.2.0

    Source code(tar.gz)
    Source code(zip)
  • 4.2.0(Jun 9, 2022)

  • 3.1.0(Jun 9, 2022)

  • 5.1.0(Apr 19, 2022)

    What's Changed

    • Fix support for PHP 8.1 by @txigreman in https://github.com/overtrue/phplint/pull/122
    • Update GitHub Actions by @cclauss in https://github.com/overtrue/phplint/pull/124

    New Contributors

    • @txigreman made their first contribution in https://github.com/overtrue/phplint/pull/122
    • @cclauss made their first contribution in https://github.com/overtrue/phplint/pull/124

    Full Changelog: https://github.com/overtrue/phplint/compare/5.0.0...5.1.0

    Source code(tar.gz)
    Source code(zip)
  • 5.0.0(Apr 6, 2022)

  • 4.1.0(Dec 30, 2021)

    What's Changed

    • Add support Symfony 6 by @Myks92 in https://github.com/overtrue/phplint/pull/118

    New Contributors

    • @Myks92 made their first contribution in https://github.com/overtrue/phplint/pull/118

    Full Changelog: https://github.com/overtrue/phplint/compare/4.0.0...4.1.0

    Source code(tar.gz)
    Source code(zip)
  • 3.0.6(Nov 30, 2021)

  • 4.0.0(Nov 29, 2021)

    What's Changed

    • Update README.md by @KoenigMathieu in https://github.com/overtrue/phplint/pull/102
    • Fix passing arguments and options on Docker image by @llaville in https://github.com/overtrue/phplint/pull/108
    • Update Docker CLI syntax for PHP/branch 8.0 by @llaville in https://github.com/overtrue/phplint/pull/110

    Full Changelog: https://github.com/overtrue/phplint/compare/3.0.3...4.0.0

    Source code(tar.gz)
    Source code(zip)
  • 3.0.5(Nov 29, 2021)

  • 3.0.4(Nov 29, 2021)

    What's Changed

    • Update README.md by @KoenigMathieu in https://github.com/overtrue/phplint/pull/101
    • Fix passing arguments and options on Docker image for PHP 7.4 by @llaville in https://github.com/overtrue/phplint/pull/109
    • Application version 3.0 by @llaville in https://github.com/overtrue/phplint/pull/111

    Full Changelog: https://github.com/overtrue/phplint/compare/2.4.1...3.0.4

    Source code(tar.gz)
    Source code(zip)
    phplint.phar(1017.46 KB)
Owner
安正超
Keep calm and coding.
安正超
PHP Curl - This package can send HTTP requests to a given site using Curl.

PHP Curl This package can send HTTP requests to a given site using Curl. It provides functions that can take several types of parameters to configure

Mehmet Can 1 Oct 27, 2022
Read-only WebDAV server written in php8.0; supports browsing archives and GETting files in encodings other than what's on disk

Best Read-only WebDAV Server: TODO Features and notes of implementation Keeping generated files in a place that nginx can find them (2 ways to do this

Joe Koop 1 Nov 17, 2021
Online tool to convert `curl` requests to Laravel `Http` requests

curl Converter Another bit of automation from Shift to convert curl requests to Laravel Http requests. This project is a WIP. You may follow along wit

Laravel Shift 66 Dec 17, 2022
Retrofit implementation in PHP. A REST client for PHP.

Retrofit PHP Retrofit is a type-safe REST client. It is blatantly stolen from square/retrofit and implemented in PHP. ❗ UPGRADE NOTICE ❗ Version 3 int

null 153 Dec 21, 2022
HTTP header kit for PHP 7.1+ (incl. PHP 8) based on PSR-7

HTTP header kit for PHP 7.1+ (incl. PHP 8) based on PSR-7 Installation composer require sunrise/http-header-kit How to use? HTTP Header Collection Mor

Sunrise // PHP 63 Dec 31, 2022
Express.php is a new HTTP - Server especially made for RESTful APIs written in PHP.

express.php Express.php is a new HTTP - Server especially made for RESTful APIs written in PHP. Features Fast The Library is handles requests fast and

null 5 Aug 19, 2022
PHP Curl ile letgo api kütüphanesi oluşturuldu. php ile letgo giriş yap.

Kendi LETGO API ile işlemler gerçekleştirelim. // email işlemleri $server = 'imap.gmail.com'; $user = '[email protected]'; $pass = 'password'; $port = 9

Görkem Bayraktar 2 Nov 3, 2022
Guzzle, an extensible PHP HTTP client

Guzzle, PHP HTTP client Guzzle is a PHP HTTP client that makes it easy to send HTTP requests and trivial to integrate with web services. Simple interf

Guzzle 22.3k Jan 2, 2023
Requests for PHP is a humble HTTP request library. It simplifies how you interact with other sites and takes away all your worries.

Requests for PHP Requests is a HTTP library written in PHP, for human beings. It is roughly based on the API from the excellent Requests Python librar

null 3.5k Dec 31, 2022
A Chainable, REST Friendly, PHP HTTP Client. A sane alternative to cURL.

Httpful Httpful is a simple Http Client library for PHP 7.2+. There is an emphasis of readability, simplicity, and flexibility – basically provide the

Nate Good 1.7k Dec 21, 2022
PHP's lightweight HTTP client

Buzz - Scripted HTTP browser Buzz is a lightweight (<1000 lines of code) PHP 7.1 library for issuing HTTP requests. The library includes three clients

Kris Wallsmith 1.9k Jan 4, 2023
HTTPlug, the HTTP client abstraction for PHP

HTTPlug HTTPlug, the HTTP client abstraction for PHP. Intro HTTP client standard built on PSR-7 HTTP messages. The HTTPlug client interface is compati

The PHP HTTP group 2.4k Dec 30, 2022
Requests for PHP is a humble HTTP request library. It simplifies how you interact with other sites and takes away all your worries.

Requests for PHP Requests is a HTTP library written in PHP, for human beings. It is roughly based on the API from the excellent Requests Python librar

null 3.5k Dec 31, 2022
Unirest in PHP: Simplified, lightweight HTTP client library.

Unirest for PHP Unirest is a set of lightweight HTTP libraries available in multiple languages, built and maintained by Mashape, who also maintain the

Kong 1.3k Dec 28, 2022
PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs

PHP Curl Class: HTTP requests made easy PHP Curl Class makes it easy to send HTTP requests and integrate with web APIs. Installation Requirements Quic

null 3.1k Jan 5, 2023
Simple handler system used to power clients and servers in PHP (this project is no longer used in Guzzle 6+)

RingPHP Provides a simple API and specification that abstracts away the details of HTTP into a single PHP function. RingPHP be used to power HTTP clie

Guzzle 846 Dec 6, 2022
The best php curl library.

中文文档 About Implemented by using php-curl internal io event with high performance,high universality,high extensibility which especially suitable for ma

Ares 431 Dec 12, 2022
PHP Secure Communications Library

phpseclib - PHP Secure Communications Library Supporting phpseclib Become a backer or sponsor on Patreon One-time donation via PayPal or crypto-curren

null 4.9k Jan 3, 2023
Custom PHP curl library for the Laravel 5 framework - developed by Ixudra

ixudra/curl Custom PHP cURL library for the Laravel 4 or 5 framework - developed by Ixudra. The package provides an easy interface for sending cURL re

Jan Oris 556 Jan 6, 2023