php-parallel-lint / php-parallel-lint
此工具检查 PHP 文件的语法,比串行检查快约 20 倍。
Requires
- php: >=5.3.0
- ext-json: *
Requires (Dev)
- nette/tester: ^1.3 || ^2.0
- php-parallel-lint/php-console-highlighter: 0.* || ^1.0
- squizlabs/php_codesniffer: ^3.6
Suggests
- php-parallel-lint/php-console-highlighter: Highlight syntax in code snippet
Replaces
This package is auto-updated.
Last update: 2024-09-20 11:37:16 UTC
README
此应用程序并行检查 PHP 文件的语法。它可以输出纯文本、带颜色的文本、json 和 checksyntax 格式。此外,还可以使用 blame
来显示引入错误提交的 commits。
在 PHP 中运行并行作业受到 Nette 框架测试的启发。
此应用程序官方支持与 PHP 5.3 到 8.3 一起使用。
目录
安装
使用 composer
作为开发依赖项进行安装
composer require --dev php-parallel-lint/php-parallel-lint
或者您可以将其作为独立的 composer
项目进行安装
composer create-project php-parallel-lint/php-parallel-lint /path/to/folder/php-parallel-lint --no-dev
/path/to/folder/php-parallel-lint/parallel-lint # running tool
为了彩色输出,安装建议的包 php-parallel-lint/php-console-highlighter
composer require --dev php-parallel-lint/php-console-highlighter
从 v1.3.0 版本开始,每个版本都提供了一个 PHAR 文件。这个 PHAR 文件作为每个版本的资产发布,可以在 发行版 页面上找到。
示例输出
历史
该项目最初由 @JakubOnderka 创建并发布为 jakub-onderka/php-parallel-lint。
从那时起,Jakub 已经转向了其他兴趣,截至 2020 年 1 月,第二活跃的维护者 @grogy 接管了项目的维护,并在 PHP Parallel Lint 组织中为该项目 - 以及相关的依赖项 - 提供了新的家园。
强烈建议现有的 (未维护的) jakub-onderka/php-parallel-lint 包的用户将他们的依赖项切换到 php-parallel-lint/php-parallel-lint,请参阅下面的 如何升级。
命令行选项
-p <php>
指定要运行的 PHP-CGI 可执行文件 (默认: 'php')。-s
或--short
将 short_open_tag 设置为 On (默认: Off)。-a
或--asp
将 asp_tags 设置为 On (默认: Off)。-e <ext>
只检查具有选定扩展名的文件,用逗号分隔。 (默认: php,php3,php4,php5,phtml,phpt)-j <num>
并行运行作业 (默认: 10)。--exclude
排除文件或目录。如果想要排除多个项目,请使用多个排除参数。--colors
在控制台输出中启用颜色。 (禁用颜色支持自动检测)--no-colors
在控制台输出中禁用颜色。--no-progress
在控制台输出中禁用进度。--checkstyle
以 Checkstyle XML 格式输出结果。--json
以 JSON 字符串格式输出结果(需要 PHP 5.4)。--gitlab
为 GitLab 代码质量小部件输出结果(需要 PHP 5.4),有关更多信息请参阅 代码质量 文档。--blame
尝试显示错误行的 git blame。--git <git>
显示 blame 消息的 Git 可执行文件路径(默认: 'git')。--stdin
从标准输入加载要测试的文件和文件夹。--ignore-fails
忽略失败的测试。--show-deprecated
显示弃用信息(默认:关闭)。--syntax-error-callback
包含语法错误回调的文件,以便修改错误,更多信息请参阅示例。-h
,--help
打印此帮助信息。-V
,--version
显示应用程序版本。
对于 Symfony 框架推荐排除的内容
从命令行运行
vendor/bin/parallel-lint --exclude .git --exclude app --exclude vendor .
基于使用的 PHP 版本排除扫描文件
有时项目中的一个特定文件可能不符合项目全局最低PHP版本,例如,一个条件包含在项目中的文件,其中包含需要更高PHP版本才能运行的PHP语法。
这可能会使得在CI环境中运行Parallel Lint变得复杂,因为命令中使用的exclude
必须根据正在运行的PHP版本进行调整。
PHP Parallel Lint提供了一种直接解决此问题的方法,因为文件可以定义自己的最低PHP版本,如下所示
<?php // lint >= 7.4 // Code which contains PHP 7.4 syntax.
放置此注释后,当在低于PHP 7.4的PHP版本上运行PHP Parallel Lint时,该文件将自动跳过。
注意:注释// lint >= 7.4
必须是文件的唯一第一行,并且必须直接跟在PHP开放标签之后。
如何升级
您正在使用jakub-onderka/php-parallel-lint
包吗?您可以使用以下命令切换到php-parallel-lint/php-parallel-lint
composer remove --dev jakub-onderka/php-parallel-lint
composer require --dev php-parallel-lint/php-parallel-lint