Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie PHP_CodeSniffer zum Überprüfen von Codespezifikationen (ausführliche Erklärung)

So verwenden Sie PHP_CodeSniffer zum Überprüfen von Codespezifikationen (ausführliche Erklärung)

青灯夜游
青灯夜游nach vorne
2020-06-28 09:54:333570Durchsuche

So verwenden Sie PHP_CodeSniffer zum Überprüfen von Codespezifikationen (ausführliche Erklärung)

Einige Schüler haben vielleicht noch nichts davon gehört. Hier ist eine kurze Einführung:

PHP_CodeSniffer ist ein Tool zur Erkennung von Codestilen. Es enthält zwei Arten von Skripten, phpcs und phpcbf (GitHub-Adresse). Das

phpcs-Skript definiert eine Reihe von Codespezifikationen für die Dateien PHP, JavaScript und CSS (normalerweise unter Verwendung offizieller Codespezifikationsstandards wie PHP und PSR2). , das Code erkennen kann, der nicht den Codespezifikationen entspricht, und eine Warnung oder einen Fehler ausgeben kann (die Fehlerstufe kann festgelegt werden).

phpcbf Das Skript kann automatisch die Teile des Codeformats korrigieren, die nicht den Standards entsprechen. Beispielsweise erfordert die PSR2-Spezifikation eine Leerzeile am Ende jeder PHP-Datei. Wenn Sie dann dieses Skript ausführen, wird am Ende automatisch eine Leerzeile hinzugefügt.

Installation

Es wird empfohlen, composer zum Installieren zu verwenden:

composer global require "squizlabs/php_codesniffer=*"

Nach der Installation ist es in das globale Vendor Generieren Sie zwei Softlinks in bin unter dem Verzeichnis:

phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf
phpcs -> ../squizlabs/php_codesniffer/bin/phpcs

Wenn Sie nicht wissen, wo sich das globale Vendor-Verzeichnis befindet, verwenden Sie diesen Befehl:

composer global config bin-dir --absolute

Befehlszeilenverwendung

An diesem Punkt können Sie diese beiden Befehle tatsächlich problemlos verwenden:

Oh, aber wenn Sie diese beiden verwenden möchten global Der Befehl ist besser, einen Softlink unter /usr/local/bin~

$ phpcs test.php

FILE: /Users/stephen/Develop/Code/test.php
--------------------------------------------------------------------------------------------
FOUND 2 ERRORS AFFECTING 2 LINES
--------------------------------------------------------------------------------------------
 2 | ERROR | [ ] Missing file doc comment
 3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE"
--------------------------------------------------------------------------------------------
PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY
--------------------------------------------------------------------------------------------

Time: 45ms; Memory: 4Mb

$ phpcbf test.php

PHPCBF RESULT SUMMARY
----------------------------------------------------------------------
FILE                                                  FIXED  REMAINING
----------------------------------------------------------------------
/Users/stephen/Develop/Code/test.php                  1      1
----------------------------------------------------------------------
A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE
----------------------------------------------------------------------

Time: 49ms; Memory: 4Mb

Integriert in Sublime Text

Install Plug- zu erstellen. in

VoraussetzungPackage ControlSie müssen es installieren, damit werden Sie auf jeden Fall zurechtkommen (unerklärlicherweise zuversichtlich, weglaufen)

Installieren Sie das phpcs Plug-In und Öffnen Sie dann das Plug-in Settings - User und Settings - Default und kopieren Sie den gesamten Inhalt des letzteren in den ersteren.

Konfigurations-Plug-in

Konfigurieren Sie die folgenden Konfigurationselemente:

Ausführungspfad von php in der aktuellen Umgebung

"phpcs_php_prefix_path": "/usr/bin/php",

Der Ausführungspfad von phpcs in der aktuellen Umgebung

"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",

Zusätzliche Parameter, die beim Ausführen des Skripts hinzugefügt werden, basieren im Allgemeinen auf der PSR2-Codespezifikation als Standard. Sie können auch PSR1, usw.PEAR

"phpcs_additional_args": {
    "--standard": "PSR2",
    "-n": ""
},
Ausführungspfad von

in der aktuellen Umgebungphpcbf

"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
Speichern und Ausführen starten

Skriptfunktioncbf

"phpcbf_on_save": true,
Jetzt können Sie fröhlich spielen, nach der Bearbeitung

Nach dem Speichern der Datei mit dem Suffix wird automatisch geantwortet, um die Unregelmäßigkeiten im Code zu korrigieren. .php

Dieses Plug-in verfügt auch über andere Stellen, an denen Codespezifikationen festgelegt werden können, z. B.

, PHP Mess Detector settings, PHP Linter settingsPHP Scheck settings

Ich werde das nächste Mal ein paar andere studieren, aber es reicht mir im Moment. , Escape)

In PHPStrom integriert

Code Sniffer konfigurieren

Klicken Sie in den Einstellungen -> unter Sprachen & Frameworks -> Code Sniffer auf

und konfigurieren Sie den Pfad des phpcs Ausführungsskript der aktuellen Umgebung, neben Es gibt eine Schaltfläche

zur Überprüfung, und die anderen beiden Parameter sind standardmäßig in Ordnung. Lassen Sie uns hier ein wenig darüber sprechen.

Configuration: Local...: In jeder Datei wird eine maximale Anzahl von Elementen angezeigt, die nicht der Codespezifikation entsprechen. Wenn 50 Elemente angezeigt werden, müssen Sie im Allgemeinen viel tun. Tatsächlich sind 10 Elemente ausreichend. Besonders für Code wie meinen. Für Menschen mit terminaler Mysophobie und Zwangsstörung reicht einer aus. . . phpcsValidate

: Zeitüberschreitung für die Skriptausführung

Maxumum number of messages per file[1...100]

Überprüfung aktivieren

Tool process timeout, sec[1...30]

Aktivieren Sie sie unter Einstellungen -> Editor ->

Suchen Sie die Option „PHP –> PHP-Code-Sniffer-Validierung“, überprüfen Sie sie und konfigurieren Sie sie im Detail auf der rechten Seite. Ich habe „Warnungen anzeigen als: Fehler“ aktiviert, das können Sie natürlich auch Wählen Sie „Warnung“. Es ist nichts Falsches daran.

Wenn Sie diese Option nicht finden, klicken Sie bitte auf die Schaltfläche „Aktualisieren“.

Automatische Reparatur

Ich habe lange gesucht, aber nicht gefunden, dass

eine verfügbare Option hat, die

unterstützt, also kann es nur so sein erreicht durch .

Fügen Sie es in den Einstellungen -> Extras -> hinzu. Hier ist ein Beispiel von mir, das grundsätzlich kopiert werden kann :)

PhpStrom

Sie können es jetzt unter Extras -> Externe Tools in der Menüleiste finden und problemlos verwenden.

Bruder Liang, das ist sehr unbequem. . .

Dann fügen Sie eine Tastenkombination hinzu. . .

Tastenkombinationen hinzufügen unter Einstellungen -> Externe Tools -> Option + FAlt + F

Honey Extension wurde vorher nicht verwendet

, der Code für die automatische Reparatur verwendete

, aber später stellte ich fest, dass beides Funktionen Es ist fast das Gleiche, also habe ich phpcbf aufgegeben, basierend auf dem Prinzip, wenn möglich eine Tasche wegzulassen. php-cs-fixerphp-cs-fixerBei Interesse erweitern Sie Ihr Wissen auf eigene Faust~

Empfohlen: „

PHP Video Tutorial

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP_CodeSniffer zum Überprüfen von Codespezifikationen (ausführliche Erklärung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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