✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

PHP_CodeSniffer – Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

21

Möchten Sie Ihre PHP-Codierungsstandards verbessern? Natürlich ja. Egal, ob Sie ein neuerer oder erfahrener PHP-Entwickler sind, jeder möchte seine Codierungsstandards verbessern.

Aber wie?

Nun, im Internet stehen mehrere Ressourcen zur Verfügung, die Sie lesen und mit der Implementierung beginnen können.

Es gibt noch eine weitere Lösung, die es nicht erfordert, über Standardcodierung zu lesen. Stattdessen erhalten Sie Vorschläge zur Verbesserung der Laufzeit Ihrer Standards, indem Sie sich Ihre PHP-Datei ansehen. Dieser Weg ist besser, da Sie den klaren Vorschlag zusammen mit der Zeilennummer erhalten.

Einführung in PHP_CodeSniffer

Wie der Name schon sagt, riecht PHP_CodeSniffer den Code in Ihren Dateien oder Ordnern. Wo auch immer es den schlechten Code riecht, gibt es Ihnen Bericht, wo sich der schlechte Code befindet und welche Schritte Sie unternehmen sollten, um ihn zu korrigieren. PHP_CodeSniffer verhält sich wie Ihr PHP-Code-Checker.

Es ist eine sehr empfehlenswerte Bibliothek für einen PHP-Programmierer. Während Sie an einem PHP-Projekt arbeiten, sollten Sie Ihren Code erst dann an den Endkunden liefern, wenn Sie mit den von PHP_CodeSniffer vorgeschlagenen PHP-Codierungsstandards fertig sind.

Schließlich sollen PHP-Programmierer einen besseren Code liefern und PHP_CodeSniffer hilft Ihnen dabei, besser zu programmieren.

Installieren Sie PHP_CodeSniffer mit Composer

Composer ist ein Abhängigkeitsmanager für PHP. Damit können Sie die für Ihr Projekt benötigte Bibliothek installieren/aktualisieren.

Sie können PHP_CodeSniffer im Stammverzeichnis Ihres Projekts installieren. Ich empfehle jedoch, im Stammverzeichnis einen Ordner ‘php_codesniffer’ zu erstellen und die Bibliothek in diesem Ordner zu installieren.

Um den PHP_CodeSniffer mit Composer zu installieren, öffnen Sie die Eingabeaufforderung im Verzeichnis ‘php_codesniffer’ und führen Sie den folgenden Befehl aus.

composer require "squizlabs/php_codesniffer=*"

PHP_CodeSniffer - Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

Lassen Sie uns unsere PHP-Codierungsstandards überprüfen

Gehen Sie als Nächstes php_codesniffer/vendor/binvon der Eingabeaufforderung in das Verzeichnis. Von diesem bin-Ordner aus werden wir unsere PHP-Codierungsstandards mit dem PHP_CodeSniffer vergleichen.

Nehmen wir zum Beispiel an, wir haben eine Datei namens index.php in Ihrem Projekt. Meine Datei index.php enthält den folgenden Code.

<?php
require_once ("vendor/autoload.php");
require_once ("config.php");
 
TinifysetKey(TINIFY_KEY);
 
$source = TinifyfromFile("large.jpg");
$resized = $source->resize(
    array(
        "method" => "cover",
        "width" => 150,
        "height" => 100
    ));
$resized->toFile("thumbnail1.jpg");
 
echo "Image resized.";
 
$bool = true;
?>

Dieser Code wird für die Größenänderung von Bildern in PHP mit der TinyPNG-Bibliothek verwendet. Unser Code funktioniert einwandfrei und liefert ein erwartetes Ergebnis. Aber wir haben einige Codierungsstandards in unserer Datei übersehen.

Lassen Sie uns herausfinden, welcher Standard in der obigen Datei fehlt.

Wir werden diese Datei mit PHP_CodeSniffer vergleichen, indem wir den folgenden Befehl ausführen.

phpcs --standard=PEAR /path/to/your/file

Wir arbeiten unter Windows, daher würde ein Befehl in unserem Fall wie folgt aussehen.

phpcs --standard=PEAR D:wampwwwapitinypngindex.php

Hier bedeutet ‘–standard=PEAR’, dass unsere Datei den von PEAR festgelegten Standard überprüft .

PHP_CodeSniffer - Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

Nachdem wir den obigen Befehl ausgeführt hatten, erhielten wir einige Fehler bezüglich der Codierungsstandards.

Korrigieren Sie den Kodex mithilfe von Richtlinien

Nehmen wir ein Fehlerbeispiel.

Der zweite Fehler, der besagt, dass ‘require_once’ eine Anweisung ist, keine Funktion: Es sind keine Klammern erforderlich

Durch diesen Fehler erfahren wir den Standard zum Einbinden externer Dateien.

Unser untenstehender Code

require_once ("vendor/autoload.php");
require_once ("config.php");

sollte durch ersetzen

require_once "vendor/autoload.php";
require_once "config.php";

Dies ist ein Beispiel für die Korrektur von Code. In Ihrem Fall finden Sie möglicherweise einige andere Fehler. Sie sollten es korrigieren, indem Sie den Anweisungen folgen, die Sie erhalten haben.

Die PHP_CodeSniffer-Bibliothek bietet einen Befehl, der automatisch Verstöße gegen die Codierungsstandards korrigiert. Denken Sie daran, dass dieser Befehl nicht alle Fehler behebt. Es kümmert sich um einige kleinere Fehler wie Einrückung, schließende Klammern usw.

Wenn Sie sich den obigen Screenshot ansehen, werden Sie feststellen, dass in unserer Datei insgesamt 7 Fehler gefunden wurden. Siehe nach der Fehlerliste die Zeile

‘PHPCBF’ KANN DIE 6 MARKIERTEN SNIFF-VERLETZUNGEN AUTOMATISCH BEHEBEN

PHP_CodeSniffer - Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

Der erste Fehler, der mit einem fehlenden Datei-Dokumentkommentar zusammenhängt, müssen wir uns um diesen Doc-Kommentar kümmern. Der Befehl ‘PHPCBF’ wird es nicht korrigieren.

Nachdem wir das gesagt haben, schreiben wir den Befehl dafür.

phpcbf --standard=PEAR D:wampwwwapitinypngindex.php

PHP_CodeSniffer - Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

Im Screenshot können Sie sehen, dass 6 Fehler behoben wurden und 1 übrig bleibt. Der verbleibende Fehler hängt mit dem Dateidokumentkommentar zusammen.

Wir fügen also die Dateikommentare hinzu und unser endgültiger Code sieht wie folgt aus.

<?php
/**
 * This file will generate the resize version of an image
 *
 * PHP version 5.6.25
 *
 * @category Resize_Image
 * @package  TinyPNG
 * @author   Sajid <[email protected]>
 * @license  http://www.php.net/license/3_01.txt  PHP License 3.01
 * @link     https://artisansweb.net/resize-image-php-using-tinypng
 */
require_once "vendor/autoload.php";
require_once "config.php";
 
TinifysetKey(TINIFY_KEY);
 
$source = TinifyfromFile("large.jpg");
$resized = $source->resize(
    array(
        "method" => "cover",
        "width" => 150,
        "height" => 100
    )
);
$resized->toFile("thumbnail1.jpg");
 
echo "Image resized.";
 
$bool = true;
?>

Wenn wir nun das ‘phpcs’-Skript ausführen, erhalten wir keine Fehler bei den PHP-Codierungsstandards.

PHP_CodeSniffer - Eine Bibliothek zur Verbesserung Ihrer PHP-Codierungsstandards

Hinweis: PHP_CodeSniffer validiert auch Ihre JS- und CSS-Dateien.

Aufnahmequelle: artisansweb.net

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen