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
 

Ä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: 158 Punkte bei 11 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

title_2015_02

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

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 2 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Neue SuSE-Literatur
Roland Welcker, 14.01.2015 14:10, 1 Antworten
Verehrte Linux-Freunde, seit Hans-Georg Essers Buch "LINUX" und Stefanie Teufels "Jetzt lerne ich...
DVD abspielen unter openSUSE 13.1
Michael Pfaffe, 12.01.2015 11:48, 6 Antworten
Hallo Linuxer, Bisher habe ich meine DVD´s mit linDVD unter openSUSE abgespielt. Mit der Versi...
Kontrollleiste SuSE 12.3 gestalten
Roland Welcker, 31.12.2014 14:06, 1 Antworten
Wie bekomme ich das Icon eines beliebigen Programms (aktuell DUDEN) in die Kontrollleiste und kan...
flash-player
roland reiner, 27.12.2014 15:24, 7 Antworten
Mein Flashplayer funktioniert nicht mehr-Plug in wird nicht mehr unterstütz,auch über google chro...
PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 10 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...