phpcs: Code-Sniffer für PHP

Gerade wenn man in größeren Projekten arbeitet, müssen sich Menschen an Standards halten, da ansonsten Chaos entsteht. Ein Standard wäre hier zum Beispiel PSR (ich berichtete). Aber wie stellt man nun sicher, dass man sich auch immer daran hält? Die Antwort lautet hier: phpcs.

Sofern man seine Entwicklungsumgebung korrekt eingerichtet hat, geht die Installation recht einfach von der Hand:

Falls man seine Path-Variable nun richtig konfiguriert hat, steht einem der Befehl nun überall zur Verfügung. Soweit, so gut.

phpcs und phpStorm

Jetzt könnte man natürlich immer alle Befehlt per Hand ausführen. Da das aber nervt, nutzt man seine geliebte IDE dafür. Dazu öffnet man die Projekt-Settings eines beliebigen Projektes. Hier findet man in den Projekteinstellungen unter PHP den Punkt „Code-Sniffer“ (oder einfach die Suche bemühen). Dort gibt man nun einfach den absoluten Pfad zu phpcs an und klickt „validate“ um die Einstellungen zu prüfen. Sieht man die Ausgabe der Versionsnummer, läuft alles.

Das macht das Ganze nun aber noch nicht sonderlich spektakulär. Als nächstes öffnet man in den Projekteinstellungen den Punkt „Inspections“ und sucht ebenfalls nach „Code Sniffer“. Hier hakt man den entsprechenden Menu-Punkt an.

phpStorm-phpcs-Inspections

Danach wählt man, etwas weiter unten, den Coding-Standard aus. Falls hier nur „Custom“ angeboten wird, muss man einmal den Aktualisieren-Button betätigen. Danach kann man sich zwischen vielen Standards entscheiden. Meine Wahl fällt hier auf PSR2. Danach bekommt man (je nach eingestelltem Error-Level), die Probleme farbig in den Dateien präsentiert. Das sieht dann z.B. so aus:

phpStorm-phpcs

Weitere Einstellungen

Damit man sich das Leben etwas leichter macht, kann man natürlich noch in den Projekt-Einstellungen den entsprechenden Code-Style für PHP pflegen. Mit einem „Reformat Code“ ist man dann auf Wunsch schon PSR-Konform. Um das Ganze dann immer auszuführen, kann man noch im Commit-Dialog den Haken bei „Reformat Code“ setzen. Dann kann man unterwegs soviel vergessen wie man möchte – vorm Commit wird alles in PSR2 gerückt.

phpStorm-reformatCode

Herzlichen Glückwunsch – ab jetzt wird immer alles korrekt abgeliefert. Ohne Ausnahmen!

Über

Jahrgang 87, gelernter Softwareentwickler und fast ein Jahrzehnt Erfahrung im Bereich Web-Entwicklung mit PHP und Web-Design. Diese Eigenschaften machen mich zu einem geeigneten und geschätzten Ansprechpartner für die Umsetzung Ihres Projektes. Weiterhin bin ich seit Ende 2013 Magento Certified Developer.