使用PHP_CodeSniffer对代码进行格式化

首先

当我们在进行团队开发时,如果每个人都按照自己的规则编写代码,那么很快代码就会变得混乱不堪。如果能够按照相同的规则整理代码,那将非常方便。

在PHP中有一些可以按照规则解析代码的库,包括PHP CS Fixer和PHP_CodeSniffer。本次我们将讨论PHP_CodeSniffer的引入步骤和使用方法。(※关于PHP CS Fixer和规则,将在以后的文章中详细写作。)

目录

    • はじめに

 

    • 目次

 

    • Installation

 

    • Getting Started

 

    • Usage

使いやすいように

phpcs.xml
コマンド

カスタムコマンドの追加

コマンド

おわりに

参考文献

規約
GitHub
Composer

安装

只需要在开发环境中使用codesnifer,所以加上-dev选项。

composer require "squizlabs/php_codesniffer=3.*" --dev

参考下述关于作曲家的内容。

开始

由于成功安装了 PHP_CodeSniffer,现在可以在项目中使用它了。

按照 PSR-12 格式进行检测和整理。

# 規約に反している箇所を検知
./vendor/bin/phpcs --standard=PSR12 [対象ファイル]
# 規約に沿って整形
./vendor/bin/phpcbf --standard=PSR12 [対象ファイル]

使用

详细的使用方法以及选项等请参阅此处。

为了方便使用

每次输入上述命令都很麻烦。(我也记不住……)因此,我准备了一个预先编写了规则的设置文件,并使用它来让它可用。

phpcs.xml 的含义是什么?

在根目录下创建phpcs.xml文件。

touch phpcs.xml

支持 PSR12。

<?xml version="1.0"?>
<ruleset name="Custom Standard" namespace="MyProject\CS\Standard">

  <description>PSR12</description>
  <!-- 対象ファイル -->
  <file>./</file>

  <!-- 除外したいファイル -->
  <exclude-pattern>./vendor/*</exclude-pattern>

  <!-- 色を付けてわかりやすく -->
  <arg name="colors"/>

  <!-- s: エラー時ルール表示, p: 進捗表示 -->
  <arg value="sp"/>

  <!-- 適用規約 -->
  <!-- PSR-12 PSR-1が前提となっているので -->
  <rule ref="PSR12"/>
</ruleset>

指令

./vendor/bin/phpcs --standard=phpcs.xml 
./vendor/bin/phpcbf --standard=phpcs.xml 

添加自定义命令

为了使使用更加简单,我们将在 composer.json 的 scripts 中进行补充记录。

"scripts": {
        "phpcs": "./vendor/bin/phpcs --standard=phpcs.xml",
        "phpcbf": "./vendor/bin/phpcbf --standard=phpcs.xml"
}

命令

能够直观地使用了呢。

composer phpcs
composer phpcbf

最后

在团队内预先确定上述设置,可以遵循规范进行开发。同时,我认为这也会在整个团队中激发遵循规范编写代码的意识。通过这样做,代码审查时审查人员无需担心,可读性也会提高!

文献引用

条款

    PSR-12: Extended Coding Style

GitHub的中文解释

    PHP_CodeSniffer

作曲家

    • Composerコマンドまとめ

 

    Writing custom commands
广告
将在 10 秒后关闭
bannerAds