jmolivas/phpqa

PHP QA 分析器

维护者

详细信息

github.com/jmolivas/phpqa

源代码

问题

安装: 265

依赖: 0

建议者: 0

安全性: 0

星星: 327

关注者: 14

分支: 29

开放问题: 4

类型:项目

0.5.0 2017-01-25 07:21 UTC

README

PHPQA 分析器 CLI 工具

概述

本项目旨在作为 CLI 工具,简化使用与 PHP 质量保证和代码分析相关的不同 PHP 工具。

每个分析器工具使用不同格式处理参数和选项,本项目的目标是提供与这些项目交互的单一方式,如果项目支持,您还可以使用默认配置文件设置选项和参数。

本项目最初是作为 Drupal Console 的一部分开发的,并基于博客文章 用 PHP 编写您的 git 钩子并将它们保持在 git 控制之下

可用的分析器

  • PHP Parallel Lint

    该工具比串行检查更快地检查 PHP 文件的语法,并具有更华丽的输出。

    PHP-Parallel-Lint

  • PHP Coding Standards Fixer

    当您想遵循 PSR-1 和 PSR-2 文档中定义的 PHP 编码标准时,PHP Coding Standards Fixer 工具可以修复代码中的大多数问题。

    PHP-CS-Fixer

  • PHP_CodeSniffer

    PHP_CodeSniffer 是一组两个 PHP 脚本;主要的 phpcs 脚本用于对 PHP、JavaScript 和 CSS 文件进行标记化,以检测违反定义的编码标准的违规行为,第二个 phpcbf 脚本用于自动纠正编码标准违规行为。

    PHPCBF

    PHPCS

  • PHPMD - PHP Mess Detector

    这是 PHP Depend 的一个衍生项目,旨在成为著名 Java 工具 PMD 的 PHP 等价物。PHPMD 可以看作是 PHP Depend 测量的原始指标的易于配置的前端。

    PHPMD

  • PHPLOC

    phploc 是一个用于快速测量 PHP 项目大小和分析结构的工具。

    PHPLOC

  • PHPDCD - PHP Dead Code Detector

    phpdcd 是一个用于检测 PHP 代码中死代码(DCD)的工具。它扫描 PHP 项目中的所有声明函数和方法,并将那些至少未被调用一次的报告为“死代码”。

    PHPDCD

  • PHPCPD - PHP Copy/Paste Detector

    phpcpd 是一个用于检测 PHP 代码中复制/粘贴(CPD)的工具。

    PHPCPD

  • PHPUnit

    PHPUnit 是一个针对 PHP 的程序员测试框架。它是单元测试框架 xUnit 架构的一个实例。

    PHPUnit

安装

克隆项目

$ 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
  • 选项 projectglobal 不能同时使用。

分析项目

$ cd to/project/path
$ phpqa analyze --project=PROJECT --files=FILES
$ phpqa analyze --project=PROJECT --git

注意

  • 选项 git 不接受值,必须设置为 --git
  • 如果当前工作目录中存在 phpqa.ymlphpqa.yml.dist 文件,则可以省略 project 选项。
  • 选项 filesgit 不能同时使用。

覆盖配置

本项目旨在完全可定制,您可以通过更新项目根目录下运行 init 命令时复制的 phpqa.ymlphpqa.yml.dist 文件,或者通过运行 init 命令时使用 --global 选项复制的 ~/.phpqa/php/config.yml~/.phpqa/symfony/config.yml~/.phpqa/drupal/config.yml 文件来启用/禁用分析器并修改传递给分析器的参数/选项。

实用的特性

该项目仍在开发中,需要一些关于代码整理、测试覆盖率和文档的工作。