Facebook
Twitter
Google+
Kommentare
6

Syntaktische Korrektheit eines Projektes prüfen

Heute wollen wir mal wieder eine kleine Anfängerlehrstunde geben. Und zwar geht es darum, wie man die syntaktische Korrektheit eines ganzen Projektes prüfen kann. Um ehrlich zu sein schreib ich mir das nur gerade auf, weil ich immer wieder die Syntax vergesse und jetzt endlich weiß, wo ich nachschauen muss.

Als erstes möchte ich mal sagen, dass ich ein Linux ADAU (annähernd DAU) bin. Ok, in den letzen Jahren ist es schon viel besser geworden. Aber wenn es wirklich ums Eingemachte geht, dann frage ich doch lieber mal ’nen Kollegen. Mike kann euch da bestimmt ein Lied von singen. Aber eigentlich wollte ich mich ja gar nicht mies machen, sondern euch was erzählen.

Also … um eine PHP Datei syntaktisch zu checken brauchen wir ja nichts anderes als php selbst. Aber das hatte ich ja schon mal erzählt. Kurz zusammengefasst:

php -l file.php

Linux Menschen werden jetzt natürlich gleich wissen, wie man das auf ein ganzes Projekt, dass natürlich im gleichen Verzeichnis liegt, anwendet. Der Befehl dazu lautet:

find . -name "*.php" -exec php -l  {} \;

Damit sagt ihr dem Find Befehl von Linux, was er mit den gefundenen .php Dateien anstellen soll: nämlich ein php -l draufhauen. Ganz einfach, wenn man es weiß. Aber ich denke mal, dass 90% das schon wussten, aber wie gesagt manchmal nutze ich den Blog auch, damit ich Sachen nicht behalten muss. Brauche meinen Kopf ja für wichtigeres. Das war übrigens ein netter Ausdruck dafür, dass ich unheimlich vergesslich sein kann.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

Ein Kommentar

  1. @Christian: Das ist natürlich richtig. Trotzdem ist es mir schon öfters passiert, dass ich was kaputtest eingechecked habe. Das php -l sollte man dann natürlich an einen SVN Hook koppeln, damit es gar nicht erst angenommen wird.

    Reply
  2. Eclipse kann noch einen Nachteil haben: Es werden auch dinge wie HTML gecheckt, die, sobald sie in Fragmenten auftauchen öfter mal Fehler aufwerfen obwohl dort keine sind. Dann geht die Übersicht mit den roten Kreuzen flöten.

    Reply
  3. @Malte: Yepp, ist mir auch schon aufgefallen. Zum Glück kann man dank MVC-Framework abschätzen, dass Fehler im View-Ordner weniger dramatisch sind als solche bei den Controllern & Models.

    Reply
  4. Das Problem mit der Vergeßlichkeit kenne ich auch. Ich kann mir:

    find . -name „*.php“ -type f|xargs php -l

    übrigens besser merken. Über -type f werden nur Dateien gefunden, die Pipe (|) leitet das Ergebnis von find weiter, das xargs verwendet, um damit einen beliebigen Befehl aufzurufen.

    Reply
  5. … und da damit ich es mir auch nicht merken muss (solange nils durchhält)

    find . -name „*.php“ -exec php -l {} \; | grep -v ^No

    Dann werden nur die Fehler angezeigt.
    Die Erweiterung grept die Zeilen die mit „No syntax error …“ beginnen.

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen