jmolivas / phpqa
PHP QA 分析器
Requires
- php: >=5.4.5
- drupal/coder: >=8.2.3
- friendsofphp/php-cs-fixer: 2.0.*
- jakub-onderka/php-console-highlighter: 0.3.*
- jakub-onderka/php-parallel-lint: 0.9.*
- phploc/phploc: @stable
- phpmd/phpmd: @stable
- phpunit/phpunit: 4.*
- sebastian/phpcpd: @stable
- sebastian/phpdcd: @stable
- symfony/config: >=2.8 <3.2
- symfony/console: >=2.8 <3.2
- symfony/process: >=2.8 <3.2
This package is auto-updated.
Last update: 2024-09-15 01:48:48 UTC
README
PHPQA 分析器 CLI 工具
概述
本项目旨在作为 CLI 工具,简化使用与 PHP 质量保证和代码分析相关的不同 PHP 工具。
每个分析器工具使用不同格式处理参数和选项,本项目的目标是提供与这些项目交互的单一方式,如果项目支持,您还可以使用默认配置文件设置选项和参数。
本项目最初是作为 Drupal Console 的一部分开发的,并基于博客文章 用 PHP 编写您的 git 钩子并将它们保持在 git 控制之下。
可用的分析器
-
该工具比串行检查更快地检查 PHP 文件的语法,并具有更华丽的输出。
-
当您想遵循 PSR-1 和 PSR-2 文档中定义的 PHP 编码标准时,PHP Coding Standards Fixer 工具可以修复代码中的大多数问题。
-
PHP_CodeSniffer 是一组两个 PHP 脚本;主要的
phpcs
脚本用于对 PHP、JavaScript 和 CSS 文件进行标记化,以检测违反定义的编码标准的违规行为,第二个phpcbf
脚本用于自动纠正编码标准违规行为。 -
这是 PHP Depend 的一个衍生项目,旨在成为著名 Java 工具 PMD 的 PHP 等价物。PHPMD 可以看作是 PHP Depend 测量的原始指标的易于配置的前端。
-
phploc
是一个用于快速测量 PHP 项目大小和分析结构的工具。 -
PHPDCD - PHP Dead Code Detector
phpdcd
是一个用于检测 PHP 代码中死代码(DCD)的工具。它扫描 PHP 项目中的所有声明函数和方法,并将那些至少未被调用一次的报告为“死代码”。 -
PHPCPD - PHP Copy/Paste Detector
phpcpd
是一个用于检测 PHP 代码中复制/粘贴(CPD)的工具。 -
PHPUnit 是一个针对 PHP 的程序员测试框架。它是单元测试框架 xUnit 架构的一个实例。
安装
克隆项目
$ git clone git@github.com:jmolivas/phpqa.git
$ cd phpqa
# download dependencies
$ composer install
# make phpqa globally accessible creating a symlink
$ ln -s /path/to/phpqa/bin/phpqa /usr/local/bin/phpqa
使用
复制配置文件
$ cd to/project/path
$ phpqa init --project=PROJECT --override
$ phpqa init --global --override
注意
- 选项
global
不接受值,必须设置为--global
。 - 选项
override
不接受值,必须设置为--override
。 - 选项
project
和global
不能同时使用。
分析项目
$ cd to/project/path
$ phpqa analyze --project=PROJECT --files=FILES
$ phpqa analyze --project=PROJECT --git
注意
- 选项
git
不接受值,必须设置为--git
。 - 如果当前工作目录中存在
phpqa.yml
或phpqa.yml.dist
文件,则可以省略project
选项。 - 选项
files
和git
不能同时使用。
覆盖配置
本项目旨在完全可定制,您可以通过更新项目根目录下运行 init
命令时复制的 phpqa.yml
或 phpqa.yml.dist
文件,或者通过运行 init
命令时使用 --global
选项复制的 ~/.phpqa/php/config.yml
、~/.phpqa/symfony/config.yml
或 ~/.phpqa/drupal/config.yml
文件来启用/禁用分析器并修改传递给分析器的参数/选项。
实用的特性
- 添加创建新项目的命令。
- 添加更多分析器
- 通过配置添加分析器,而不是作为composer依赖项。
- 检测分析器是否已在本地计算机上加载,并使用它而不是下载。
- 添加自定义分析器。
- 通过API添加SaaS分析器。
该项目仍在开发中,需要一些关于代码整理、测试覆盖率和文档的工作。