PHP Codesniffer – Regeln definieren mit ruleset.xml

Aktuell beschäftige ich mich intensiv mit Softwarequalität und darum möchte ich einen Bericht über den aktuellsten PHP_CodeSniffer schreiben.

Regelsets definieren – der alte Weg

Vor einigen Monaten habe ich den CodeSniffer durch die Artikelserie von Nils auf phphatesme entdeckt. Der CodeSniffer wurde von mir direkt ausprobiert. Kurze Zeit später habe ich eigene Regeln erstellt (Regelset Ordner mit PHP kopieren und anpassen…), was aber eine recht mühsame Angelegenheit ist. Zum Glück gibt es jetzt eine neue Möglichkeit…

Regelsets definieren  – neu mit XML

Ab der Version 1.3.0 kann man die Regeln sehr einfach mit einem XML File konfigurieren. Hier ein Beispiel:

Das XML sagt folgendes:

  • Nimm alle PEAR Sniff Regeln
  • Schliesse von PEAR die Regeln LineLength und ScopeIndent aus
  • Ergänze eine einzelne Regel OpeningFunctionBraceKernighanRitchie

Somit hat man (wenn man die Regeln mit Namen kennt) innerhalb von wenigen Minuten seine eigenes Ruleset zusammengestellt. Weitere Tips gibts bei Squizlabs nachzulesen.

Anwendung Regelset

Möglichkeit 1

Das Regelset kann ich nun im Standards Ordner von Codesniffer ablegen (unter Ubuntu /usr/share/php/PHP/CodeSniffer/Standards/<RegelsetName>/ruleset.xml).

Danach einfach folgenden Aufruf machen:

phpcs –standard=<RegelsetName> /path/to/code

Möglichkeit 2

Das XML kann irgendwo abgelegt werden und muss dann so aufgerufen werden:

phpcs –standard=/path/to/ruleset.xml /path/to/code

2 Responses

  1. Danke für den Beitrag. Habe mich früher intensiv mit dem CodeSniffer beschäftigt, leider habe ich den Anschluss ein wenig verloren. Also Danke für das Auffrischen.

Leave a Reply

Your email address will not be published. Required fields are marked *