• PHP_Beautifier

    von am 18. August 2009

    Heute geht es mal wieder um nützliche Tools. Nachdem ich mich die letze Zeit ein wenig an Coding Guidelines beschäfftigt habe und auch das ein oder andere mit dem PHP_CodeSniffer verbrochen habe, möchte ich euch ein kleines Helferchen vorstellen, mit dem man seinen Code ein wenig aufräumen  kann.

    Der Code Beautifier wird dazu genutzt um nach bestimmten Richtlinien Code zu formatieren. Wie so oft ist auch dies ein Paket des PEAR Projektes und kann somit wirklich, wie gewohnt, leicht installiert werden.

    pear install PHP_Beautifier-0.1.14

    Und schwupps kann ich es nutzen. Habe ich überhaupt erklärt, was genau ich nutzen will? Nein? Dann hole ich das einfach nach. Nehmen wir an, ihr habt in eurer Firma einen Coding Standard, der auch “aufzwingt” die Spaces statt Tabs  zu verwenden. Da ich ein Gewohnheitstier bin mache ich trotzdem Tabs. Ist natürlich blöd, denn ich mache ja was “Verbotenes”. Vielleicht nicht so verboten, wie eine Bank aussrauben, aber schon nicht nett.

    Jetzt kann ich natürlich einfach jede Datei öffnen und den Source Code reparieren. Händisch. Aber das ist mir zu doof. Ich nehme den PHP_Beautifier. Einfach auf der Kommandozeile ein wenig zaubern und schon sind alle Sorgen verpufft.

    php_beautifier -s2 index.php index_new.php

    Fertig. War doch einfach, oder? Der Beautifier kann aber nocht viel mehr. Ich habe zum Beispiel die Möglichkeit neue Zeilen einzufügen, an den Stellen, an denen ich sie brauche. Will ich zum Beispiel vor jedem if eine neue Zeile haben, so würde mein Aufruf wie folgt aussehen:

    php_beautifier --filters "NewLines(before=T_IF)"

    Die Syntax finde ich ein wenig gewöhnungsbedürftig. Aber hat man sie einmal verstanden, kann man schon damit leben. Schaut euch einfach die PHP Tokens an, dann wird schon einiges klar werden. Wenn nicht, dann könnt ihr hier auch einfach fragen.

    Ansonsten gibt es es noch weitere Filter, wie tum Beispiel das korrekte Einrücken von Arrays (ArrayNested), Umwandlung aller reservierten Wörter in Kleinschreibweise (Lowercase) und noch einige anderen. Man kann zwar nicht alles damit lösen, aber vieles und das ist ja schon mal wichtig.

    Ich bin übrigens gerade dabei das Ganze so zu konfigurieren, dass man es als externes Tool in Eclipse nutzen kann. Ist nur leider nicht so einfach, da der Code in einer Linux VMWare liegt und ich mit Windows arbeite. Wenn es aber soweit ist, werde ich natürlich darüber berichten.

    ArrayNested

    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

    11 Kommentare »


    • TP: [PHP] Code Beautify - TP Hilfe Forum -- Anleitung - Tutorial - Workshop...
      am 18. August 2009 um 08:31 Uhr

      [...] von Master_T2 – PHP_Beautifier Dazu gibts heute ein Artikel bei phphatesme. __________________ Engel sind auch nur [...]


    • Alex
      am 18. August 2009 um 09:18 Uhr

      Ich nutze ganz intensiv den PHP-Formatter von Eclipse. Einmal eingerichtet (Einrückungen, Zeilenumbrüch etc) braucht man nur hin und wieder die Tastenkombi auszuführen und der Code ist im nu formatiert.
      Der Formatter ist so umfangreich, dass dort beinahe jeder Codeabschnitt erfasst werden kann. Schön ist auch, dass durch “Quick Diff” sofort zu sehen ist, welche Zeilen beeinflusst und welche sogar neu hinzugekommen sind.
      Kann ich nur empfehlen!


    • Nils Langner
      am 18. August 2009 um 09:28 Uhr

      @Alex: Bist du sicher, dass du den Formatter von Eclipse nutzt? Soviel ich weiß, kann der nur zwischen Tabs und Spaces zum Einrücken unterscheiden. Bist du vll. Zend Studio oder PHPEclipse Nutzer?


    • Guido
      am 18. August 2009 um 09:35 Uhr

      Kenn ich schon, das Teil ist hervorragend dazu geeignet Code, der durch einen Obfuscator gelaufen ist, für Menschen lesbar zu machen – nicht das jemand so etwas machen würde :)


    • Rainer
      am 18. August 2009 um 10:27 Uhr

      Ich nutze AnyEdit tools plugin for Eclipse (http://andrei.gmxhome.de/anyedit/) mit dem nach jedem Speichern einer Datei die konfigurierten Aktionen automatisch ausgeführt werden. Gute Ergänzung zum Formater.


    • Alex
      am 19. August 2009 um 08:12 Uhr

      @Nils: Ich nutze Zend Studio for Eclipse, aber ist es nicht irgendwo das selbe? Außer dass Zend den Debugger und einige Editoren liefert?


    • PHP_Beautifier – Eigene Filter schreiben | PHP hates me - Der PHP Blog
      am 16. Oktober 2009 um 07:02 Uhr

      [...] PHP_Beautifier [...]


    • raphaelniederer
      am 16. Oktober 2009 um 09:43 Uhr

      Hallo Nils,
      Ja, was er ist/was er genau macht und wo/wie man ihn anwendet ;D

      PS: Wo ist mein Kommentar geblieben?


    • raphaelniederer
      am 16. Oktober 2009 um 09:44 Uhr

      Ahhh… sorry, falscher Artikel :D


    • Hauke
      am 17. August 2010 um 11:31 Uhr

      Hast dus eigentlich in eclipse rein bekommen?


    • Nils Langner
      am 17. August 2010 um 11:33 Uhr

      @Hauke: Ja aber wieder ausgebaut. Bin mittlerweile auf Zend Studio umgestiegen. Aber auf meiner Liste steht immer noch ein Tutorial für External Tools hier im Blog. Ich versuch’s bald zu machen.

    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.