定制 district09/qa-php 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

district09/qa-php

最新稳定版本:2.2.1

Composer 安装命令:

composer require district09/qa-php

包简介

Quality Assurance tools and configuration for PHP projects and packages.

README 文档

README

This package provides a set of Quality Assurance tools and configuration files for PHP projects and packages (libraries).

Requirements

Installation

Add the grumphp entry to the extra section of your composer.json.

"grumphp": {
    "config-default-path": "vendor/district09/qa-php/configs/grumphp.yml"
}

Add the qa-php package as dev requirement:

composer require --dev district09/qa-php:^2.0

Configuration

General

If required you can extend or override the provided configuration file of a task. Simply create the matching configuration file in the root of your project.

For example, to override the provided phpcs.xml file you can either create a phpcs.xml or phpcs.local.xml file.

Note that the .local. files should only be used for changes that shouldn't be committed. Exclude them in .gitignore:

/*.local.*

Yaml and Neon files will extend (merged into) the provided configuration file by default. Create a .env or .env.local file and add following contents to change this behaviour:

[FILENAME]_SKIP_[TYPE]=1

Wherein [FILENAME] matches the configuration filename and [TYPE] is either:

  • LOCAL to skip for example your phpstan.local.neon file.
  • PROJECT to skip for example your phpstan.neon file.
  • GLOBAL to skip for example the by qa-php provided phpstan.neon file.

Other file types cannot be merged and will just override all other less specific files.

PHPStan in deprecations only mode

Create a phpstan.neon file and add following contents to ignore everything except deprecations:

parameters:
  customRulesetUsed: true
  ignoreErrors:
    - '#^(?:(?!deprecated).)*$#'

Ignore automatically created config files

Some GrumPHP tasks require a config file. These are automatically created, from the examples within vendor/qa-php/config or by the project specific files within your project or package root directory. The generated files are also stored in the same project/package root. You can recognize these files by the .qa-php. suffix.

These files should not be committed! Add them to the .gitignore file:

/*.qa-php.*

Ignore PHPUnit build files

When the PHPUnit task runs, coverage report files are stored into the build directory located in the root of your project. Add this file to the .gitignore file:

/build
/.phpunit.result.cache

Run PHPUnit locally without coverage

Running PHPUnit with coverage report is time consuming. You can locally speed up PHPUnit by copying the generated phpunit.qa-php.xml file to phpunit.local.xml and remove the <coverage> section from it.

Run GrumPHP

GrumPHP will automatically run all tasks on the changed code on git commit and push.

You can run all tasks at once:

vendor/bin/grumphp

Or you can run one or more specific tasks manually by running:

vendor/bin/grumphp --tasks phpcs,phpmd
vendor/bin/grumphp --tasks phpunit

PHPStorm

PHPStorm requires config files for PHP_CodeSniffer, PHP Mess Detector & PhpUnit. Run the grumphp command at least once (successfully) to generate these files.

The files will be created as:

  • phpcs.qa-php.xml : PHP_CodeSniffer config file.
  • phpmd.qa-php.xml : PHP Mess Detector config file.
  • phpunit.qa-php.xml : PHPUnit config file.

Configure the paths to these files in PHPStorm:

  • Editor > Inspections > PHP > Quality tools > PHP Mess Detector validation Add phpmd.qa-php.xml to the "Custom rulesets".
  • Editor > Inspections > PHP > Quality tools > PHP_CodeSniffer validation Set "Coding Standard" to "Custom" and set the path to phpcs.qa-php.xml.
  • Languages & Frameworks > PHP > Test Frameworks > Test Runner Set "Default configuration file" to phpunit.qa-php.xml.

PHP compatibility

In order to check php compatibility you can use the phpcs PHPCompatibility sniff:

php vendor/bin/phpcs -p --ignore="*/vendor/*" --extensions=php,inc,module,install,theme --runtime-set testVersion 8.1 --standard=PHPCompatibility ./

统计信息

  • 总下载量: 3.07k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 3
  • 依赖项目数: 8
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 3
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-12-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固