Meine WordPress Entwickler Toolbox

Immer wieder kommt die Frage rein: Was nutzt du als Umgebung zum Entwickeln mit WordPress. Einige Anregungen möchte ich hier mal geben, wobei ich diese Vorlieben nicht als statisches Etwas sehe. Ich lebe, der Rechner mit mir und ebenso die Tools, die ich nutze.

Immer wieder kommt die Frage rein: Was nutzt du als Umgebung zum Entwickeln mit WordPress. Einige Anregungen möchte ich hier mal geben, wobei ich diese Vorlieben nicht als statisches Etwas sehe. Ich lebe, der Rechner mit mir und ebenso die Tools, die ich nutze.
Ebenso würde ich mich freuen, wenn mir der eine oder andere seine Vorlieben in diesem Segment kurz in den Kommentaren nennt - vielleicht findet sich das eine oder andere Schmankerl.

Plattform

Aktuell arbeite ich unter Windows und Linux, so dass sich meine Tools vorrangig auf beiden Plattformen anwenden lassen sollten. Dies ist mir wichtig, da ich eine heterogene Arbeitsumgebung für förderlich halte und es die Umgewöhnung am Client reduziert.

Browser

In meinem täglichen Umfeld der Webentwicklung arbeite ich vorrangig im Browser und im Editor, demzufolge sind diese beiden Werkzeuge für mich auch das Zentrum der Arbeit und bekommen den größten Zugriff.

Beim Browser vertraue ich auf Firefox, was vorrangig an den erstklassigen Erweiterungen liegt. In diesem Umfeld muss das Add on FireBug erwähnt werden, ohne das ich mir die Arbeit nicht mehr vorstellen könnte. Für dieses Add on gibt es wieder diverse Erweiterungen, die ich ebenso nützlich empfinde, dazu zählen vor allem YSlow, FirePHP und Page Speed.

Im weiteren nutze ich sehr gern das Add on im Firefox - Web Developer um diverse Inhalte einer Website zuzugreifen, sei es Cookies oder JavaScript auszuwerten, oder live CSS zu schreiben. Die Vielfalt ist sehr mächtig und damit ist das Add on ein wunderbares Werkzeug. Einige Punkte überschneiden sich mit dem FireBug - hier muss man einfach sehen, was man lieber mag.

In diesem Zusammenhang gibt es einige wunderbare Erweiterungen für den Browser, die die Arbeit erleichtern und ebenso die Synchronisation verschiedener Clients übernehmen kann. Daher kommt mein Firefox nicht nur mit diesen beiden Add ons aus, sondern es gibt einige wenige mehr, die aber in diesem Zusammenhang keinen erhöhten Wert haben.

Editor

Ein weiteres wichtiges Werkzeug ist der Editor, wobei ich hier auf UltraEdit setze. Ein Editor der leider meinem Grundgedanken zu Open Source nicht entspricht, der mir aber über die vielen Jahre am Rechner ans Herz gewachsen ist. Hier schätze ich vorrangig die Geschwindigkeit des Editors und die wunderbare Erweiterbarkeit mit eigenen Tools. So nutze ich das Parsen von PHP und das validieren von HTML und CSS direkt im Editor. Für das Parsen von CSS kommt CSSTidy zum Einsatz, auch online verfügbar. PHP parse ich via Webserver, der im Editor integriert ist und zusätzlich via PHPLint, auch in den zusätzlichen Werkzeugen des Editors integriert.

Unter Linux kann ich mich noch nicht ganz entscheiden und nutze dort Geany und NetBeans, wobei mir NetBeans eigentlich schon wieder zu träge ist und ich in Geany das eine oder andere vermisse. UE habe ich aktuell noch in der Test- und Betaphase und mal sehen, eventuell kann ich mich doch nicht von diesem Editor lösen.

Webserver & Tools

In diesem Zusammenhang gibt es zwei weitere wichtige Tools, die im Rahmen der Webentwicklung einsetze. Ich setze zum Arbeiten auf der lokalen Umgebung unter Windows XAMPP ein und unter Linux ist die lokale Webumgebung via Paketverwaltung installiert. Somit habe ich auf jedem Client eine Umgebung um mit PHP und mySQL zu arbeiten.

Wichtig bei der Entwicklung mit PHP ist für die Fehler- und Hinweisausgabe und das Debuggen. Unter PHP gibt es dabei diverse Ansätze und ich setze auf das Modul xDebug und eine entsprechende Ausgabe der Fehler und Hinweise in PHP.
Im weiteren schreibe ich in dem Zusammenhang die Errorlogs und werte diese aus. Als letztes Tool möchte ich auf Webgrind hinweisen, was als Webanwendung genutzt wird. Alternativ gibt es auch Desktop-Tools, die diese Arbeit erledigen, bspw. WinCacheGrind unter Windows. Damit lässt sich hervorragend das Profiling von xDebug auswerten und der eigene Code optimieren. Einen Beitrag zur Konfiguration und diverse hinweise habe ich bereits in der Vergangenheit erstellt.

FTP

Um die Entwicklung auf den Server zu bekommen, bedarf es meist einem Tool, welches das FTP Protokoll beherrscht und möglichst eine Oberfläche für die Verwaltung der Accounts liefert. Hierbei setze ich unter Windows auf den Total Commander, den man hervorragend an seine Bedürfnisse anpassen kann und wo ich vorrangig schätze, dass ich Tabs verschiedene Verbindungen öffnen kann. Unter Linux nutze ich für die Übertragung via FTP das Add on für den Firefox FireFTP. Hier gibt es diverse Tools, allerdings habe ich noch nie die Zeit gefunden, um mir diverse andere Tools anzusehen.

Für die Verbindung von SSH kommt PuTTY als Hilfe zum Einsatz und damit kann ich im Total Commander via SSH arbeiten. Unter Linux gibt es ebenso tolle Erweiterungen.

WordPress

Da ich vorrangig in und für WordPress entwickle, habe ich einige kleine Plugins in der Testumgebung aktiv, die mir die Sicht auf bestimmte Daten erleichtern, und die mir speziell für WordPress die Fehler speichern oder ausgeben. So teste ich beispielsweise auf nicht mehr aktuelle Funktionen von WordPress, um veraltetet Funktionen mit den neuen zu erkennen und zeitnah zu ersetzen. Eine kleine Liste mit kurzer Erläuterung von Plugins dazu, auch wenn ich nicht alle einsetze, so findet vielleicht der eine oder andere Gefallen.

Damit genug, auch wenn es sicher noch mehr gibt. Entscheidend aus meiner Sicht sind aber nicht die Plugins, sondern die Umgebung mit xDebug und die Settings, die WordPress im Standard in diesem Zusammenhang bietet. Daher kann ich nur empfehlen, folgende Zeilen in der wp-config.php der Umgebung zu haben.



/** Debugging WP */
define('WP_DEBUG', true); //enable the reporting of notices during development - E_ALL
define('WP_DEBUG_DISPLAY', true); //use the globally configured setting for display_errors and not force errors to be displayed
define('WP_DEBUG_LOG', true); //error logging to wp-content/debug.log
define('SCRIPT_DEBUG', true); //loads the development (non-minified) versions of all scripts and CSS and disables compression and concatenation,
define('E_DEPRECATED', false); //E_ALL & ~E_DEPRECATED & ~E_STRICT

define('AUTOSAVE_INTERVAL', '300');    // Autosave interval
define('SAVEQUERIES', true);    // Analyse queries
define('WP_POST_REVISIONS', false);

Diese Definitionen machen die Arbeit mit WordPress einfach und es gibt viele Hinweise von WP zu einem sauberen Code und aktuellen Funktionen. Den Autosave-Intervall ändere ich nur dann auf kleine Werte, wenn ich diesem Segment arbeite, wenn ich also möglichst schnell das Script brauche.

Webzugriffe

Im Web gibt es eine Vielzahl von Tools, die nützlich sind - ich möchte mal kurz einige vorstellen, die ich oft nutze und auch damit meinen Dank an die Leute sagen, die diese Dienste bereit stellen.

  • php.net - weil man nie schnell genug an Infos kommt, daher habe ich auch im Firefox eine Erweiterung für das interne Suchfeld, was direkt in den Funktionen von php.net sucht (kann gern genutzt werden, habe ich abgelegt)
  • wpseek.com - die Suche zu WordPress, auch eine Sucherweiterung für Firefox steht zur Verfügung (@Oliver: einzig und allein - ich wünschte mir mehr Übersicht, weniger Design 😉 )
  • PHP Cross Reference of WordPress Source - weil ich manchmal so schneller bin als über den Editor
  • bueltge.de - mein eigenes Blog 😉 ist gestartet und meine Lösungen fest zu halten und zu teilen, ich nutze die Suche massiv und auch die gibt es als Browsererweiterung

Fazit

Um UpToDate zu bleiben, nutze ich viele Anwendungen, die ich hier auch genannt habe, via SVN - dies gilt für WordPress ebenso wie für die genannten Tools, wenn es den seitens des Entwicklers angeboten wird. Ebenso ist die Arbeit mit SVN unumgänglich, wenn man Plugins auf dem Server von WordPress ablegen will. Unter Windows (z.B. Tortoise) und Linux (z.B. RapidSVN) ist die Arbeit mit einem SVN kein Problem und es stehen ausreichend gute Tools zur Verfügung.

Ein kleines Ausblick meiner aktuellen Tools und vielleicht findet einer von Euch Anregungen und hat ebenso Anregungen für mich.

Kommentare sind geschlossen.