am 30. September 2009
Jetzt sitze ich schon seit drei Tagen an einem neu-entdeckten Eclipse Plugin und mir wird nicht langweilig. Die Rede ist vom “Eclipse PHP Tool Integration” Projekt. Einem Plugin, nach dem ich schon lange gesucht und geschrieben habe und es jetzt endlich “auf dem Markt” ist. Bevor ich aber zu sehr abschweife erkläre ich doch einfach mal, warum es geht.
Es gibt viele wunderbare PHP Tools, PHPUnit, pDepend oder PHP_CodeSniffer sind nur einige der wirklich guten. Das “Problem” ist, dass sie alle in PHP geschrieben wurde. An sich eine tolle Sache, denn so kann auch jeder diese Tools anpassen und erweitern. Will man jetzt aber seiner IDE, in meinem Fall Eclipse PDT, beibringen, dass sie diese Tools nutzen sollen, dann steht man vor Problemen, denn Plugins müssen meistens in der Sprache der IDE geschrieben werden.
Wie ihr euch vielleicht schon denkt, hat das Eclipse PHP Tool Integration Projekt endlich diese Brücke geschaffen. Es hat sich zum Ziel gesetzt die wichtigsten PHP Tools so zu integrieren, dass sie fließend in PDT genutzt werden können. Angefangen hat das Projekt mit einer nahtlosen Einbindung des PHP_CodeSniffers, der meiner Meinung nach eines der mächtigsten Tools in der PHP Welt ist.
Stellt man es geschickt an, so kann man mit ein paar Handgriffen sein PDT so aufblasen, dass es eine ähnliche Funktionalität erreicht, wie es zum Beispiel das Zend Studio bietet. Ok vielleicht nicht ganz so mächtig, aber meine favorisierten Features sind abgedeckt. Ich selbst habe die letzen drei Tage verwendet, die richtigen CodeSniffer Regeln einzubauen und noch ein paar Sniffs zu schreiben.
Damit ihr euch das ganze mal vorstellen könnt, hier ein paar Screenshots:

DefinedButNeverUserdSniff
Im ersten Screenshot könnt ihr wunderbar sehen, dass mir mein PDT anzeigt, dass ich eine Variable definiert habe, sie danach aber gar nicht mehr nutze (das steht unter der Infobox). Mittlerweile habe ich meine IDE so eingerichtet, dass sie mir Verstöße gegen unsere Coding Guidelines komplett abdeckt. Sie prüft zusätzlich noch, ob Variablen benutzt werden, die vorher gar nicht definiert wurden.

Hier noch kurz ein Screenshot der Administrationsoberfläche. Schön aufgelistet alle bekannten Standards. Meiner Meinung nach also wirklich schön gelöst.
Dieser Artikel soll erst mal ein Einstieg in das Tools sein. Ich würde gerne noch ein oder zwei weitere darüber schreiben, denn ich denke, dass man sich sehr viel Arbeit sparen kann, wenn man es sich perfekt einrichtet und somit in Zukunft weniger Fehler produziert. Im nächsten Teil möchte ich euch dann noch ein wenig über den “External PHP Checker” erzählen, mit dem ihr eure eigenen Tools einbinden könnt und was man noch so alles zaubern kann mit dem Werkzeug.