• Syntaktische Korrektheit eines Projektes prüfen

    von am 10. September 2009

    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.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    6 Kommentare »


    • christian
      am 10. September 2009 um 07:51 Uhr

      Oder du verwendest einfach eine IDE welche dir diese Arbeit abnimmt: Eclipse PDT z.B. zeigt bei allen fehlerbehafteten Dateien ein kleines rotes Kreuz.


    • Nils Langner
      am 10. September 2009 um 08:23 Uhr

      @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.


    • Malte
      am 10. September 2009 um 09:14 Uhr

      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.


    • christian
      am 10. September 2009 um 14:58 Uhr

      @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.


    • juhu
      am 13. September 2009 um 20:02 Uhr

      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.


    • jensk
      am 18. September 2009 um 14:55 Uhr

      … 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.

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.