PHP Code Sniffer

Auch für die populäre Programmiersprache PHP gibt es ein ähnliches Projekt, den PHP Code Sniffer[6]. Nach der Installation testen Sie mit phpcs eine einzelne PHP-Datei oder gleich ein komplettes Verzeichnis prüfen. Phpcs definiert dazu verschiedene Coding-Standards, die Sie über die Option --standard=Typ auswählen.

Im Beispiel aus Listing 4 beanstandet Phpcs einige eher kosmetische Kleinigkeiten wie beispielsweise falsche Einrückungen oder fehlende Leerzeichen – definitiv keine Fehler, aber unschön. Auch bei Phpcs haben Sie etliche Optionen zur Verfügung (phpcs --help), können eigene Regel-Sets definieren und einzelne Codeteile von der Prüfung ausklammern (Listing 5).

Listing 4

$ phpcs -i
The installed coding standards are PHPCS, Squiz, MySource, Zend and PEAR
$ cat test.php
<?php /* Testdatei für phpcs */
echo "abc";
if (rand(1,10)>5) {
  echo "Zufallszahl >5";
}
?>
$ phpcs test.php
FILE: /home/dauti/Artikel/2012-Code-Analyse/test.php
--------------------------------------------------------------------------------
FOUND 4 ERROR(S) AFFECTING 3 LINE(S)
--------------------------------------------------------------------------------
 1 | ERROR | You must use "/**" style comments for a file comment
 3 | ERROR | No space found after comma in function call
 4 | ERROR | Spaces must be used to indent lines; tabs are not allowed
 4 | ERROR | Line indented incorrectly; expected at least 4 spaces, found 1
--------------------------------------------------------------------------------
$ phpcs --standard=PHPCS test.php
FILE: /home/dauti/Artikel/2012-Code-Analyse/test.php
--------------------------------------------------------------------------------
FOUND 10 ERROR(S) AFFECTING 4 LINE(S)
--------------------------------------------------------------------------------
 1 | ERROR | You must use "/**" style comments for a file comment
 1 | ERROR | Single line block comment not allowed; use inline ("// text")
   |       | comment instead
 2 | ERROR | String "abc" does not require double quotes; use single quotes
   |       | instead
 3 | ERROR | No space found after comma in function call
 3 | ERROR | Expected 1 space before ">"; 0 found
 3 | ERROR | Expected 1 space after ">"; 0 found
 4 | ERROR | Spaces must be used to indent lines; tabs are not allowed
 4 | ERROR | Line indented incorrectly; expected at least 4 spaces, found 1
 4 | ERROR | Line indented incorrectly; expected at least 4 spaces, found 1
 4 | ERROR | String "Zufallszahl >5" does not require double quotes; use single
   |       | quotes instead
--------------------------------------------------------------------------------

Listing 5

// @codingStandardsIgnoreStart
... dieser Code wird nicht geprüft ...
// @codingStandardsIgnoreEnd

Sonstige vergleichbare Projekte

Lint-ähnliche Codeprüfer gibt es nicht nur für C, Perl und PHP, sondern auch für viele weitere Programmiersprachen. Suchen Sie doch einfach mal nach dem Begriff "lint" und Ihrer Lieblingsprogrammiersprache im Netz – Sie werden mit hoher Wahrscheinlichkeit schnell fündig. Doch solche Tools gibt es nicht nur für Programmiersprachen, sondern in vergleichbarer Form auch für das Textsatzsystem LaTeX (ChkTeX, [7]), Pakete der Typen RPM (RPM Lint, [8]) und DEB (Lintian, [9]) sowie Cascading Style Sheets (CSS Lint, [10]).

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare
Weitere interessante Sourcecode-Analyzer.
Wolfgang Dautermann, Sonntag, 14. Juli 2013 10:08:35
Ein/Ausklappen

* http://www.shellcheck.net/ Shellskript-Analyzer
* http://cppcheck.sourceforge.net/ Ein weiterer interessanter C/C++ Checker
* http://www.jslint.com/ Javascript-Checker


Bewertung: 318 Punkte bei 180 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 02/2018: PAKETE VERWALTEN

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Internet abschalten
Karl-Heinz Hauser, 20.02.2018 20:10, 0 Antworten
In der Symbolleiste kann man das Kabelnetzwerk ein und ausschalten. Wie sicher ist die Abschaltu...
JQuery-Script läuft nicht mit Linux-Browsern
Stefan Jahn, 16.02.2018 12:49, 2 Antworten
Hallo zusammen, ...folgender goldener Code (ein jQuery-Script als Ergebnis verschiedener Exper...
XSane-Fotokopie druckt nicht mehr
Wimpy *, 30.01.2018 13:29, 0 Antworten
openSuse 42.3 KDE 5.8.7 Seit einem Software-Update druckt XSane keine Fotokopie mehr aus. Fehler...
TOR-Browser stürzt wegen Wikipedia ab
Wimpy *, 27.01.2018 14:57, 0 Antworten
Tor-Browser 7.5 based on Mozilla Firefox 52.8.0 64-Bit. Bei Aufruf von http: oder https://de.wi...
Wifikarte verhindert Bootvorgang
Maik Kühn, 21.01.2018 22:23, 1 Antworten
iwlwifi-7265D -26 failed to load iwlwifi-7265D -25 failed to load iwlwifi-7265D -24 failed to l...