Tools für PHP-Entwickler

Mit welchen Programmen und Tools arbeiten PHP-Entwickler eigentlich täglich? Diese Frage möchte ich heute beantworten. Dabei beschränke ich mich auf Tools und Programme, die fest installiert werden.

Das Betriebssystem

Da ich mit mehreren verschieden Rechnern arbeite, nutze ich auch verschiedene Betriebssysteme. Je nach dem wo ich gerade arbeite sind das (noch) Windows XP, Windows 7 oder Mac OSX. Für die Entwicklung von Webanwendungen sind alle drei gut geeignet.
Alle folgenden Tools sind im übrigen für alle Plattformen erhältlich.

Der Browser

Das wichtigste Werkzeug für JEDEN Webentwickler ist und bleibt natürlich der Browser, denn der ist immerhin das Tor zum World Wide Web. Und trotz des immer noch anhaltenden Google-Chrome-Hypes bin ich immer noch beim Mozilla Firefox geblieben – derzeit in der Version 4.0. Zusätzliche Plugins wie Firebug oder die Webdeveloper-Toolbar sind dabei unverzichtbar.

Der Test-Server

Wenn man Webanwendungen mit PHP entwickelt, ist es immer noch am einfachsten sich eine komplette Server-Testumgebung mit XAMPP aufzusetzten. Da ist alles dabei was ein Webserver (Apache, MySQL, PHP) können muss, inklusive diverser PHP-Extensions. Zudem ist XAMPP plattformunabhängig.

Die IDE (Entwicklungsumgebung)

Die perfekte IDE habe ich leider noch nicht gefunden, aber ich nutze schon seit über einem Jahr das Zend Studio und bin damit recht zufrieden. Das Zend Studio kann genau so viel wie Eclipse PDT und noch mehr ;). Meiner Meinung nach die beste IDE für PHP auf dem Markt. Neben PHP kann man damit auch super HTML, JavaScript und CSS programmieren und man kann viele Funktionen und Plugins aus Eclipse nutzen.

Bildbearbeitung

Photoshop ist und bleibt das beste Bildbearbeitungstool.

Frameworks

Die Bereich Frameworks muss ich in drei unterschiedliche Bereich einteilen. Zum einen ein Framework zur Entwicklung von richtigen Anwendungen, eins für JavaScript und ein letzten für CMS.

Anwendungs-Framework
Wer häufiger meinen Blog liest wird einige Artikel über das Zend Framework finden. Sobald ich eine etwas größere Anwendung in PHP schreibe, kommt das Zend Framework zum Einsatz. Die Komponenten sind super strukturiert und sehr flexibel einsetzbar.

CMS-Framework
Blenden wir den grauenhaften PHP-Code von TYPO3 einmal aus, bleibt ein extrem flexibles CMS übrig. Wenn man sich erstmal mit TYPO3 auskennt, gibt es wirklich kaum noch Grenzen für das CMS. Ich muss allerdings nochmal betonen, dass TYPO3 ein Framework ist und kein vollwertiges CMS wie beispielsweise Joomla! oder WordPress. Umsetzungen mit TYPO3 sind demnach deutlich umfangreicher, dafür aber auch flexibler.

JavaScript-Framework
Wenn man es ganz genau nimmt, müsste man auch diesen Bereich nochmal in zwei Bereiche aufteilen, denn es gibt Frameworks, die ausschließlich für Effekte genutzt werden (z.B. jQuery oder script.aculo.us) und es gibt welche, die sich mit dem UI beschäftigen (z.B. jQuery UI oder Ext JS).
Ich nutze derzeit noch viel jQuery und jQuery UI, weil es damit einfach unglaublich einfach ist coole Effekte und Interfaces zu bauen. Möchte man allerdings ein eher technisch ausgelegte Webanwendung schreiben, eignet sich jQuery weniger. Hier würde ich eher Ext JS empfehlen.

E-Mail + RSS Reader

Mozilla Thunderbird ist die perfekte Mischung aus E-Mail Client und RSS-Reader. Zudem genauso erweiterbar wie der Firefox und somit lässt sich z.B. ein Kalender einbinden ähnlich wie bei Outlook.

FTP-Client

Ich musste schon viele FTP-Clients ausprobieren, aber am besten gefällt mir der Filezilla.

Versionskontrolle

Ja, ich weiß, dass es altmodisch ist, aber ich nutze nach wie vor Subversion. Aber der Umstieg auf Git steht auf meiner Liste mit Dingen, die dieses Jahr noch erledigt werden müssen ;).

Sonstiges

Zum Schluss gibt es noch einige Tools, die nicht direkt für PHP-Entwickler sind, die aber trotzdem häufiger zum Einsatz kommen:

  • Dropbox
    Onlinespeicher zum Datenaustausch und Synchronisation.
  • 1Password
    Ein sehr sicheres Tool zur Aufbewahrung von Passwörtern.
  • LibreOffice
    Die kostenlose OpenSource-Variante von Microsoft Office.
  • WinRAR
    Zum lesen und entpacken und komprimierten Archiven.

 

Das waren erstmal die wichtigsten. Nicht alle sind kostenlos und OpenSource, aber ganz ohne geht es halt nicht.

Falls ich noch etwas vergessen habe, wird es nachträglich noch hinzugefügt.

PHP: Datei-Rechte rekursiv ändern

Manchmal möchte man auf UNIX-basierten Servern die Dateirechte via PHP für alle Dateien und Unterverzeichnissen ändern (also rekursiv). Das lässt sich recht einfach lösen, vorallem wenn man keine UNIX-Funktionen aufrufen kann. Wir nutzen dazu einfach die rekursiven Iterator, die der Spl beiliegen:

<?php
$folder  = dirname(__FILE__);
$folder .= '/verzeichnis'; // Hier das Verzeichnis angeben (ausgehend vom Verzeichnis dieser Datei)
 
chmod($folder, 0777);
$dir = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder), RecursiveIteratorIterator::CHILD_FIRST);
foreach($dir as $file)
{
	chmod($file->getPathname(), 0777);
	echo 'chmod 0777 '.$file->getPathname().'<br>';
}
?>

Um es kurz zu erklären: Wir erstellen ein Objekt RecursiveIteratorIterator, mit dem wir das zweite Objekt RecursiveDirectoryIterator in einer Foreach-Schleife durchlaufen können. Etwas verzwickt, ist aber die einfachste und schnellste Methode um rekursiv Verzeichnisse zu durchlaufen.

Firebug für den IE6 (IE Developer Toolbar)

Ja, der Internet Explorer 6 hat einen Firebug: die IE Developer Toolbar. Die Toolbar weißt zwar nicht mal ansatzweise die Funktionsvielfalt auf wie man sie vom Firebug gewöhnt ist, sie ist aber trotzdem manchmal hilfreich.
Ihr könnt das Tool hier runterladen.

Hier die wichtigsten Features:

  • DOM untersuchen
  • Anzeige der CSS-Eigenschaften
  • Outline für Container-Elemente anzeigen
  • Linear
  • Validierung von HTML und CSS
  • Cookies und Cache für Webseite löschen
  • Bilder und JS ausschalten
  • Color Picker
  • und noch weitere Kleinigkeiten

Das wichtigste fehlt leider: Die CSS-Eigenschaften lassen sich nicht live bearbeiten.

Die Toolbar lässt sich nach der Installation – und einem Neustart des Explorers – über Ansicht > Explorer-Leiste > IE Developer Toolbar aufrufen. Erwartet aber nicht zu viel…
Bitte beachten: Die IE Developer Toolbar ist nur mit dem Internet Explorer 6 und 7 kompatibel. Der IE 8 bietet dieses Feature bereits von Haus aus.

Dieser Artikel soll euch jetzt aber nicht dazu auffordern sämtliche Websites für den IE6 zu optimieren. Der Browser ist mehr als veraltet und wird daher auch kaum noch genutzt (weniger als 5% der Nutzer). Je weniger Websites diese Version des Internet Explorers unterstützen desto schneller fällt die Optimierung dieses „Höllenbrowsers“ komplett weg.