Holger Janßen-Kroll

Beratung · Entwicklung · Internet

Einzeiler: Mit Perl (Php-)Klassen umbenennen

Die meisten IDEs für PHP-Umgebungen unterstützen das Umbenennen von Klassen nicht oder nur unzureichend. - Besonders, wenn sich das komplette Projekt über viele Einzeldateien erstreckt. Dieser Einzeiler übernimmt das durchsuchen aller .php-Dateien und ersetzt den alten Klassennamen durch den neuen.

Das Skript

find -name "*.php" | xargs perl -pi -e "s/alter_Name/neuer_Name/g"

Erweiterung

Die meisten Projekte werden von einer Versionsverwaltung kontrolliert - oder sollten das zumindest. Wird subversion (SVN) benutzt, führt die verwendete Kommandozeile zu Problemen, da auch SVN-Verwaltungs-Dateien in den jeweiligen .svn-Unterverzeichnissen verändert werden können.

Diese Dateien sind also entsprechend vorher herauszufiltern:

find -name "*.php" \
	| grep -v "/.svn/"
	| xargs perl -pi -e "s/alter_Name/neuer_Name/g" 

Schlusswort

Es gibt sicherlich noch zahlreiche Erweiterungsmöglichkeiten, aber für meinen Zweck war die Aufgabe erfüllt. Denkbar wären z.B. Kontrollen im Regulären Ausdruck, so dass ähliche Klassennamen oder Namesteile nicht ersetzt werden.

Zurück


Einen Kommentar schreiben

Bitte rechnen Sie 3 plus 4.