composer如何给项目添加代码质量工具

通过Composer集成代码质量工具可统一版本管理和团队协作,并便于CI/CD集成。首先选择PHPStan、Psalm、PHP_CodeSniffer、PHPMD、ECS等工具,使用composer require –dev安装。接着创建对应配置文件:phpstan.neon、phpcs.xml、phpmd.xml、.php-cs-fixer.dist.php,定义分析规则、代码风格和检查路径。然后在composer.json中添加scripts,如”phpstan”: “phpstan analyse”等,方便调用。最后将这些命令写入CI/CD流程(如GitHub Actions),在每次提交时自动执行检查。自定义代码风格可通过修改phpcs.xml继承或调整规则实现;报错需根据提示修复问题,若为误报可在配置中谨慎忽略。

composer如何给项目添加代码质量工具

Composer 添加代码质量工具,本质上就是通过 Composer 管理代码质量工具的依赖,并配置相应的执行脚本,让这些工具能够集成到你的项目中。这样做的好处是版本控制统一,方便团队协作,也能更容易地在 CI/CD 流程中执行代码质量检查。

首先,你需要选择合适的代码质量工具。常见的 PHP 代码质量工具包括:

  • PHPStan: 静态分析工具,可以发现代码中的潜在错误。
  • Psalm: 另一个静态分析工具,功能类似 PHPStan。
  • PHP_CodeSniffer: 检查代码风格是否符合 PSR 标准或其他自定义标准。
  • PHPMD: 检测代码中的潜在问题,如过度复杂的方法、未使用的代码等。
  • EasyCodingStandard (ECS): 基于 PHP_CodeSniffer 和 PHP-CS-Fixer 的工具,可以自动修复代码风格问题。

接下来,使用 Composer 安装这些工具。

composer require --dev phpstan/phpstan composer require --dev squizlabs/php_codesniffer composer require --dev phpmd/phpmd composer require --dev friendsofphp/php-cs-fixer

安装完成后,你需要配置这些工具。

PHPStan 配置:

在项目根目录下创建

phpstan.neon

文件,配置 PHPStan 的分析级别和要分析的文件目录。

parameters:     level: 5     paths:         - src         - tests

PHP_CodeSniffer 配置:

创建

phpcs.xml

文件,配置代码风格标准。

<?xml version="1.0"?> <ruleset name="MyProject">     <description>My project coding standard</description>      <rule ref="PSR12"/> </ruleset>

PHPMD 配置:

创建

phpmd.xml

文件,配置要使用的规则集。

<?xml version="1.0"?> <ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"          name="My Project Ruleset"          xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/xsd/ruleset_2_0_0.xsd">     <description>         My custom ruleset.     </description>      <rule ref="rulesets/codesize.xml"/>     <rule ref="rulesets/unusedcode.xml"/>     <!-- Add other rulesets as needed --> </ruleset>

PHP-CS-Fixer 配置:

创建

.php-cs-fixer.dist.php

文件,配置代码风格修复规则。

composer如何给项目添加代码质量工具

Opus

ai生成视频工具

composer如何给项目添加代码质量工具33

查看详情 composer如何给项目添加代码质量工具

<?php  use PhpCsFixerConfig; use PhpCsFixerFinder;  $finder = Finder::create()     ->in(__DIR__ . '/src')     ->in(__DIR__ . '/tests');  $config = new Config(); return $config->setRules([         '@PSR12' => true,         'strict_param' => true,         'array_syntax' => ['syntax' => 'short'],     ])     ->setFinder($finder);

最后,在

composer.json

文件中添加 scripts,方便执行这些工具。

{     "scripts": {         "phpstan": "phpstan analyse",         "phpcs": "phpcs",         "phpmd": "phpmd src text phpmd.xml",         "phpcbf": "phpcbf",         "php-cs-fixer": "php-cs-fixer fix"     } }

现在,你可以使用

composer phpstan

,

composer phpcs

,

composer phpmd

,

composer phpcbf

,

composer php-cs-fixer

命令来执行相应的代码质量检查和修复。

如何在 CI/CD 流程中集成这些代码质量工具?

将这些命令添加到你的 CI/CD 配置文件中。例如,如果使用 GitHub Actions,可以在

.github/workflows/main.yml

文件中添加以下步骤:

jobs:   build:     runs-on: ubuntu-latest      steps:       - uses: actions/checkout@v3        - name: Setup PHP         uses: shivammathur/setup-php@v2         with:           php-version: '8.1'           extensions: mbstring, intl        - name: Install Dependencies         run: composer install --no-interaction --no-progress --no-scripts        - name: Run PHPStan         run: composer phpstan        - name: Run PHP_CodeSniffer         run: composer phpcs        - name: Run PHPMD         run: composer phpmd

这样,每次提交代码时,CI/CD 流程都会自动执行代码质量检查,并报告结果。

如何自定义代码风格标准?

自定义代码风格标准,需要修改

phpcs.xml

文件。你可以选择继承现有的标准,然后添加或修改规则。例如,你可以继承 PSR12 标准,然后禁用某些规则:

<?xml version="1.0"?> <ruleset name="MyProject">     <description>My project coding standard</description>      <rule ref="PSR12"/>      <rule ref="Generic.Arrays.DisallowLongArraySyntax">         <severity>0</severity>     </rule> </ruleset>

在这个例子中,我们禁用了

Generic.Arrays.DisallowLongArraySyntax

规则,允许使用长数组语法。

另外,你也可以完全自定义一套代码风格标准,但这需要花费更多的时间和精力。

如何处理代码质量工具的报错?

代码质量工具的报错通常意味着代码中存在问题。你需要仔细阅读报错信息,找到问题所在,并进行修复。

  • PHPStan 和 Psalm 的报错: 通常是类型错误、未定义的变量、未使用的变量等。
  • PHP_CodeSniffer 的报错: 通常是代码风格不符合标准。
  • PHPMD 的报错: 通常是代码过于复杂、存在潜在的性能问题等。

修复这些报错可以提高代码质量,减少潜在的 bug。如果某些报错是误报,你可以通过配置文件忽略这些报错。例如,在 PHPStan 中,可以使用

ignoreErrors

参数来忽略某些报错。

parameters:     level: 5     paths:         - src         - tests     ignoreErrors:         - '#Access to an undefined property#'

注意,忽略报错应该谨慎,只有在确认是误报的情况下才应该这样做。

以上就是composer php js git json github access ubuntu 工具 ai php composer json require xml 继承 Generic github bug

大家都在看:

composer php js git json github access ubuntu 工具 ai php composer json require xml 继承 Generic github bug

ai
上一篇
下一篇
text=ZqhQzanResources