navikt/coding-standard

v2.0.1 2021-08-10 12:06 UTC

This package is auto-updated.

Last update: 2024-09-10 18:56:05 UTC


README

这是 NAV IT 基于 PHP 的项目和工具的编程标准。通过 PHP Coding Standards Fixer 工具强制执行规则集。

如何设置

首先,将此软件包作为开发依赖项添加到您的项目中

composer require --dev navikt/coding-standard

然后,在您的仓库中创建一个名为 .php-cs-fixer.php 的 PHP-CS-Fixer 配置文件,包括以下内容

<?php declare(strict_types=1);
require 'vendor/autoload.php';

use NAVIT\CodingStandard\Config;
use Symfony\Component\Finder\Finder;

$finder = (new Finder())
    ->files()
    ->name('*.php')
    ->in(__DIR__)
    ->exclude('vendor');

return (new Config())
    ->setFinder($finder);

您可以调整 $finder 实例,以包含/排除其他目录。

现在,您可以运行以下命令来检查项目中的编码标准

php-cs-fixer fix --dry-run --diff

您可以选择省略 --dry-run 选项,让工具自动修复文件。

有关如何本地安装 php-cs-fixer 的说明,请参阅 文档

在 GitHub 工作流程中添加步骤

所有基于 PHP 的 NAV IT 项目都使用 GitHub 工作流程,检查编码标准应该是该工作流程的一部分。

name: CI workflow
on: push
jobs:
  php-cs-fixer:
    runs-on: ubuntu-20.04
    name: Check coding standard
    steps:
      - name: Checkout code
        uses: actions/checkout@v2

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: '7.4'
          tools: php-cs-fixer

      - name: Install dependencies
        run: composer install --prefer-dist

      - name: Check coding standard
        run: php-cs-fixer fix --dry-run --diff

PHP-CS-Fixer 和 PHP-8

要在 PHP-8 上运行 PHP-CS-Fixer,您需要设置一个环境变量,强制 php-cs-fixer 命令忽略环境要求

PHP_CS_FIXER_IGNORE_ENV=1 php-cs-fixer fix --dry-run --diff

PHP-CS-Fixer 中 PHP-8 的支持情况在此跟踪: PHP-CS-Fixer/PHP-CS-Fixer#4702