santer/code-quality-bundle

快速基本的Symfony应用程序质量保证方法

安装: 4

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 2

语言:HTML

类型:symfony-bundle

dev-master 2016-11-19 20:00 UTC

This package is not auto-updated.

Last update: 2024-09-23 13:16:57 UTC


README

一个简单快速的质量保证您的Symfony应用程序的方法。

此包使用以下工具检查您的代码

结果以一组位于您的Web目录内的HTML页面形式呈现。通过Web服务器启动 https:///qa/index.html 文件(这很重要,因为json/xml不会从文件系统加载到页面中)。

此包不是Jenkins for PHP或Sonar之类的替代品。
但它可以帮助您从代码开始就保持代码质量。

安装

步骤1:下载包

打开命令行,进入您的Symfony项目目录,然后执行以下命令以下载此包的最新稳定版本

$ composer require --dev santer/code-quality-bundle

此命令要求您全局安装Composer,如Composer文档中的安装章节中所述。
该包将作为开发依赖项安装,因此它不会影响您的生产环境。

步骤2:启用包

然后,通过将其添加到项目中 app/AppKernel.php 文件中注册的包列表中,启用该包。请确保您只为开发环境注册包。

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        // ...
        
        if (in_array($this->getEnvironment(), array('dev', 'test'), true)) {
            // ...
            $bundles[] = new DevTools\CodeQualityBundle\DevToolsCodeQualityBundle();
        }

        // ...
    }

    // ...
}

步骤3:配置包

以上两个步骤对于大多数常见的Symfony项目就足够了。
您可以直接跳到“步骤4”开始使用该包。

要更改包的行为,请在app/config/config_dev.yml中添加配置。以下是当前可用的完整配置选项及其默认值

dev_tools_code_quality:
    # Path where your code base is located
    inspect_path: src
    # Path where reports will be generated
    output_path: web/qa
    # Composer bin-dir
    bin_path: bin
    # Array of commands to run
    # The following values are allowed: ['phploc', 'pdepend', 'phpmd', 'phpcpd', 'phpcs']
    features:
        - phploc
        - pdepend
        - phpmd
        - phpcpd
        - phpcs
    # Options for PHP_CodeSniffer
    phpcs:
        # A list of standards to be checked, selected from the available set.
        # PHPCS supports [PSR1, PSR2, Zend, PHPCS, PEAR, Squiz, MySource] by default.
        # The "Symfony2" standard installed as a dependency and available 
        # on the following path: vendor/escapestudios/symfony2-coding-standard/Symfony2.
        standard:
            - Symfony2

动态更改配置

$ php app/console dev:code-quality --help
Usage:
  dev:code-quality [options]

Options:
      --inspect-path=INSPECT-PATH  Path where your code base is located
      --output-path=OUTPUT-PATH    Path where reports will be generated
      --bin-path=BIN-PATH          Composer bin-dir
      --skip-phploc                Disable PHPLOC
      --skip-pdepend               Disable PHP_Depend
      --skip-phpmd                 Disable PHP Mess Detector
      --skip-phpcpd                Disable PHP Copy/Paste Detector
      --skip-phpcs                 Disable PHP_CodeSniffer
  -e, --env=ENV                    The Environment name. [default: "dev"]

步骤4:通过使用此包改进您的代码

使用命令生成报告

php app/console dev:code-quality

当命令完成后,完整报告将在此页面上可用: https:///qa/index.html。请用您的站点名称替换“localhost”。

从PHP_CodeSniffer页面开始,看看您可以在代码中改进什么。

局限性

  • 对标准报告没有进行任何操作 - 因此请期待XML、JSON和非常基础的HTML文件。
  • Web文件夹中的HTML文件只是json/xml文件的快速可视化,不要期望更多...但如果您想让它更美观,请通过pull-request来。
  • PHP Dead Code Detector没有被包括在内,因为它在我测试的Symfony应用程序中给出了许多误报。
  • 它不会自动生成文档 - 如 PHPDoxphpDocumentor

待办事项列表

以下功能计划在1.0版本中实现

  • 使用Symfony2编码标准
  • 添加--quiet选项
  • 将lint:twig和lint:yaml命令包含在报告中
  • 使报告HTML文件更具用户友好性
  • 添加更多配置选项