Heim  >  Artikel  >  Backend-Entwicklung  >  Was ist PHP_CodeSniffer? Wie installiere und verwende ich?

Was ist PHP_CodeSniffer? Wie installiere und verwende ich?

藏色散人
藏色散人nach vorne
2022-01-11 16:16:404618Durchsuche

Dieser Artikel stellt Ihnen PHP_CodeSniffer sowie seine Installations- und Verwendungs-Tutorials vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

PHP_CodeSniffer ist ein automatisiertes Tool zur Überprüfung der PHP-Codespezifikation.

CodeSniffer verfügt über integrierte Funktionen MySource, PEAR, PHPCS, PSR1, PSR2, Squiz und Zend. MySourcePEARPHPCSPSR1PSR2SquizZend等几套代码规范。

当然,你也可以新增自己的代码规范

PHP_CodeSniffer包含两个工具,phpcs用来检查代码规范phpcbf用来纠正代码规范

1 安装

PHP_CodeSniffer 有好几种安装方式。

1.1 可执行文件方式安装

用git命令下载(或直接下载)仓库源码,然后直接执行:

git clone https://github.com/squizlabs/PHP_CodeSniffer.git
cd PHP_CodeSniffer
php bin/phpcs -h
php bin/phpcbf -h

要使用非最新版本,可以到PEAR下载,地址:http://pear.php.net/package/PHP_CodeSniffer/download

例如,要用2.9.1,PEAR下载之后解压,执行的命令是:

php scripts/phpcs -h
php scripts/phpcbf -h

与 githuh 下载不同的是,执行文件在scripts目录。

1.2 phar文件安装方式

phar也就是php archive,把php文件打包成一个文件供服务。

Linux系统用命令下载phar文件:

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar
curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar

Windows系统用浏览器访问上面的两个链接,下载这两个phar文件。

然后在phar文件的目录里面执行:

php phpcs.phar -h
php phpcbf.phar -h

能看到phpcs和phpcbf的帮助信息,说明安装成功。

说明:

  • 这种方式要保证php可执行文件已经添加到PATH环境,不然就得指定绝对目录
  • 每次执行必须把这两个.phar文件放到对应目录,然后在那个目录下运php phpcs.phar xxx行命令

1.3 pear安装方式

如果本地安装了pear(pear安装方法),也可以通过pear来安装PHP_CodeSniffer,命令:

pear install PHP_CodeSniffer

通过pear安装后,CodeSniffer的规范文件会安装在:/path/to/pear/PHP/CodeSniffer/src/Standards

1.4 composer安装方式

composer安装也很方便,一个命令:

composer global require "squizlabs/php_codesniffer=*"

说明:这里需要composer命令已经在PATH环境变量中。

也可以在composer.json文件中使用:

{
    "require-dev": {
        "squizlabs/php_codesniffer": "3.*"
    }
}

完成后执行命令:

./vendor/bin/phpcs -h
./vendor/bin/phpcbf -h

1.5 配置phpcs直接在命令行中执行

以上的方式中,除了pear安装方式,其他方式要执行phpcs命令,都需要在前面加上php。

如果是Linux提供,因为php执行文件路径已经在环境PATH中,所以把bin(或scripts) 的路径加入PATH,就可以在终端执行phpcs命令了。

但是在Windows系统中,实际是执行phpcs.bat文件,这个文件又引用了同目录下的phpcs文件。

在phpcs.bat中,我们需要配置两个变量,才能在CMD中正确执行phpcs命令。

如下,需指定php.exephpcs

Natürlich können Sie

auch Ihre eigenen Codespezifikationen hinzufügen

.

PHP_CodeSniffer enthält zwei Tools: phpcs wird verwendet, um Codespezifikationen zu überprüfen, phpcbf wird verwendet, um

Codespezifikationen zu korrigieren

.

1 Installation

PHP_CodeSniffer verfügt über mehrere Installationsmethoden. 1.1 Installation durch ausführbare Datei

Verwenden Sie den Git-Befehl, um den Warehouse-Quellcode herunterzuladen (oder direkt herunterzuladen) und führen Sie ihn dann direkt aus:

if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe
if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH
GOTO RUN
:USE_PEAR_PATH
set PHPBIN=%PHP_PEAR_PHP_BIN%
:RUN
"%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*
Um eine nicht neueste Version zu verwenden, Sie können es von PEAR herunterladen, Adresse: http://pear.php.net/package/PHP_CodeSniffer/download

Um beispielsweise 2.9.1 zu verwenden, müssen Sie nach dem Herunterladen und Dekomprimieren von PEAR die Der auszuführende Befehl lautet:

$ phpcs /path/to/code/myfile.php                        # 检查文件
$ phpcs /path/to/code                                   # 检查目录和子目录下的所有文件
$ phpcs -l /path/to/code                                # 检查目录下的所有文件,不包括子目录
$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir   # 检查文件和目录
Es unterscheidet sich vom Githuh-Download. Ja, die ausführbare Datei befindet sich im Verzeichnis scripts. 🎜🎜1.2 Phar-Datei-Installationsmethode 🎜🎜🎜phar ist auch ein 🎜php-Archiv🎜, das PHP-Dateien für den Service in einer Datei packt. 🎜🎜Für Linux-Systeme verwenden Sie den Befehl, um die Phar-Datei herunterzuladen: 🎜
$ phpcs /path/to/code/myfile.php

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | Missing file doc comment
 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
    |         | "FALSE"
 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
 47 | WARNING | Equals sign not aligned with surrounding assignments
 51 | ERROR   | Missing function doc comment
 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------
🎜Für Windows-Systeme verwenden Sie einen Browser, um auf die beiden obigen Links zuzugreifen und diese beiden Phar-Dateien herunterzuladen. 🎜🎜Führen Sie dann im Verzeichnis der Phar-Datei Folgendes aus: 🎜
$ phpcs -n /path/to/code/myfile.php
🎜Sie können die Hilfeinformationen von phpcs und phpcbf sehen, die anzeigen, dass die Installation erfolgreich war. 🎜🎜🎜Hinweis: 🎜🎜
  • 🎜Diese Methode muss sicherstellen, dass die ausführbare PHP-Datei zur PATH-Umgebung hinzugefügt wurde, andernfalls muss ein absolutes Verzeichnis angegeben werden🎜
  • 🎜Dies muss sein Wird bei jeder Ausführung hinzugefügt. Platzieren Sie die beiden 🎜.phar🎜-Dateien im entsprechenden Verzeichnis und führen Sie dann den 🎜php phpks.phar xxx🎜Zeilenbefehl🎜
  • aus >
in diesem Verzeichnis 🎜1.3 Pear-Installationsmethode🎜🎜🎜Wenn Pear lokal installiert ist (Pear-Installationsmethode), Sie können PHP_CodeSniffer auch über Pear installieren, Befehl: 🎜
$ phpcs --report=summary /path/to/code
🎜Nach der Installation über Pear wird die CodeSniffer-Spezifikationsdatei installiert in: /path/to /pear/PHP/CodeSniffer/src/Standards. 🎜🎜1.4 Composer-Installationsmethode🎜🎜🎜Die Composer-Installation ist ebenfalls sehr praktisch, ein Befehl: 🎜
$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用内置规范
$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc       # 使用指定路径下的规范
$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php            # 使用多个规范

$ phpcs --config-set default_standard Squiz                           # 修改默认规范为Squiz(原本是PEAR)
🎜🎜Anweisungen: 🎜🎜Hier erforderlich🎜composer🎜Der Befehl ist schon da🎜 PATH🎜Umgebungsvariable. 🎜🎜🎜 kann auch in der Composer.json-Datei verwendet werden: 🎜
$ phpcs -i
🎜Führen Sie den Befehl nach Abschluss aus: 🎜
$ phpcs -h
🎜1.5 Konfigurieren Sie phpcs so, dass es direkt in der Befehlszeile ausgeführt wird 🎜🎜🎜Zusätzlich Zu den oben genannten Methoden gehört die Pear-Installationsmethode. Bei anderen Methoden zum Ausführen des Befehls phpcs müssen Sie PHP voranstellen. 🎜🎜Wenn es von Linux bereitgestellt wird, da sich der Pfad der PHP-Ausführungsdatei bereits in der Umgebung PATH befindet, fügen Sie daher den Pfad von bin (oder scripts) hinzu. code>) PATH können Sie den Befehl phpcs im Terminal ausführen. 🎜🎜Aber im Windows-System wird die Datei 🎜phpcs.bat🎜 tatsächlich ausgeführt, und diese Datei verweist auf die Datei 🎜phpcs🎜 im selben Verzeichnis. 🎜🎜In phpcs.bat müssen wir zwei Variablen konfigurieren, um den phpcs-Befehl in CMD korrekt auszuführen. 🎜🎜Wie folgt müssen Sie die absoluten Speicherorte der Dateien php.exe und phpcs angeben: 🎜rrreee🎜Dann fügen Sie den Pfad D: wwwPHP_CodeSniffer-2.9.1scripts hinzu PATH, und Sie können phpcs in CMD ausführen. 🎜🎜🎜🎜Hinweis: phpcbf benötigt ebenfalls eine solche Änderung. 🎜🎜🎜🎜🎜2 Mit 🎜🎜🎜 Oben sehen wir, dass PHP_CodeSniffer zwei Befehle hat. 🎜🎜Standardmäßig verwendet PHP_CodeSniffer die PEAR-Spezifikation, um Code zu prüfen. 🎜🎜🎜2.1 Verwenden Sie den Befehl 🎜🎜🎜Der folgende Befehl verwendet die Standardspezifikation, um Dateien und Verzeichnisse zu überprüfen. 🎜rrreee🎜🎜2.2 Prüfergebnisse🎜🎜🎜Standardmäßig enthalten die Prüfergebnisse Fehler und Warnungen wie folgt: 🎜
$ phpcs /path/to/code/myfile.php

FILE: /path/to/code/myfile.php
--------------------------------------------------------------------------------
FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)
--------------------------------------------------------------------------------
  2 | ERROR   | Missing file doc comment
 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found
    |         | "FALSE"
 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1
 47 | WARNING | Equals sign not aligned with surrounding assignments
 51 | ERROR   | Missing function doc comment
 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6
--------------------------------------------------------------------------------

如果不要显示警告,加个-n参数:

$ phpcs -n /path/to/code/myfile.php

仅显示检查结果概要:

$ phpcs --report=summary /path/to/code

2.3 指定规范

可以使用 -- standard参数指定一个或多个规范来检查。

$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用内置规范
$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc       # 使用指定路径下的规范
$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php            # 使用多个规范

$ phpcs --config-set default_standard Squiz                           # 修改默认规范为Squiz(原本是PEAR)

查看现有规范:

$ phpcs -i

2.4 查看帮助

$ phpcs -h

推荐学习:《PHP视频教程

Das obige ist der detaillierte Inhalt vonWas ist PHP_CodeSniffer? Wie installiere und verwende ich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:awaimai.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen