Peter ist Webentwickler. Vor ein paar Jahren hat Peter mal ein kleines Tool für seinen Chef Paul geschrieben um die Mitarbeiter im Unternehmen zu verwalten. Er war damals noch ganz frisch in der Webentwicklung und hätte nie gedacht, dass dieses Tool über Jahre verwendet werden würde. Von Unit-Tests und wartbarem Code war er damals noch weit entfernt. So entstand unübersichtlicher Code den Peter seit Jahren nicht mehr vor Augen hatte, da er ja problemlos funktioniert und es keine neuen Anforderungen durch Paul gab.
Der Server auf dem das Tool läuft ist nun auch so langsam in die Jahre gekommen und Peters Kollegen haben ihre Tools und Programme bereits auf modernere Umgebungen umgezogen. So bleibt nur noch Peters Tool übrig.
Mary ist Peters Kollegin und für die IT-Struktur im Unternehmem zuständig. Mary fordert, mit ihrem strengen Blick durch ihre Nerd-Brille, Peter dazu auf, in Kürze auch sein Tool zur Mitarbeiter-Verwaltung auf einen anderen Server umzuziehen. Die veraltete Maschine soll nun endlich abgeschaltet werden um Platz für modernere Systeme zu schaffen.
Jetzt steht Peter vor einem Problem. Der neue Server, auf dem sein Tool nun laufen soll, verwendet PHP 5.5. Damals war PHP 5.2 noch aktuell und seit dem hat sich einiges geändert. Peter hat absolut keine Lust sich durch die Änderungen von 5.2 nach 5.3 und dann nach 5.4 usw. durchzulesen und alles im Kopf zu behalten. Doch die einzigen Möglichkeiten, gegen diesen unübersichtlichen Code anzukommen, sieht er im manuellen durchgehen aller Dateien (und das sind schon reichlich) oder die einzelnen Funktionen im Browser per Try-And-Error durchzuspielen.
Er spricht mit Paul über seine Bauchschmerzen mit dieser Lösung und erklärt ihm dem Zeitaufwand den er dahinter sieht. Paul ist überhaupt nicht begeistert, sieht aber die Notwendigkeit des Umzugs genau wie Mary.
Peter googelt und googelt um vielleicht doch noch eine Methode zu finden die nicht ganz so aufwendig ist und stolpert nach einiger Zeit über das Projekt PHPCompatibility. Dieses Projekt soll angeblich voll automatisch prüfen ob sein Code mit einer PHP-Version seiner Wahl kompatibel ist und ihm auch gleich mitteilen wo es hakt. Peter ist begeistert und probiert es gleich aus.
Er hält sich an die Installationansweisungen zu Methode 1 und installiert PHP_CodeSniffer auf seinem alten Server:
Danach packt er das PHPCompatibility-Projekt in den CodeSniffer:
Das wars schon. Jetzt kann Peter loslegen und sein Tool prüfen:
Er bekommt jetzt für alle Dateien in seinem Verzeichnis eine Ausgabe wie die folgende:
Jetzt kann Peter alle Probleme nach und nach beheben und sein Tool ist am Ende mit PHP 5.5 kompatibel.
Peter, Paul und Mary sind glücklich das alles so problemlos und schnell klappt und wenn sie nicht gestorben sind dann leben sie noch heute.
Der Server auf dem das Tool läuft ist nun auch so langsam in die Jahre gekommen und Peters Kollegen haben ihre Tools und Programme bereits auf modernere Umgebungen umgezogen. So bleibt nur noch Peters Tool übrig.
Mary ist Peters Kollegin und für die IT-Struktur im Unternehmem zuständig. Mary fordert, mit ihrem strengen Blick durch ihre Nerd-Brille, Peter dazu auf, in Kürze auch sein Tool zur Mitarbeiter-Verwaltung auf einen anderen Server umzuziehen. Die veraltete Maschine soll nun endlich abgeschaltet werden um Platz für modernere Systeme zu schaffen.
Jetzt steht Peter vor einem Problem. Der neue Server, auf dem sein Tool nun laufen soll, verwendet PHP 5.5. Damals war PHP 5.2 noch aktuell und seit dem hat sich einiges geändert. Peter hat absolut keine Lust sich durch die Änderungen von 5.2 nach 5.3 und dann nach 5.4 usw. durchzulesen und alles im Kopf zu behalten. Doch die einzigen Möglichkeiten, gegen diesen unübersichtlichen Code anzukommen, sieht er im manuellen durchgehen aller Dateien (und das sind schon reichlich) oder die einzelnen Funktionen im Browser per Try-And-Error durchzuspielen.
Er spricht mit Paul über seine Bauchschmerzen mit dieser Lösung und erklärt ihm dem Zeitaufwand den er dahinter sieht. Paul ist überhaupt nicht begeistert, sieht aber die Notwendigkeit des Umzugs genau wie Mary.
Peter googelt und googelt um vielleicht doch noch eine Methode zu finden die nicht ganz so aufwendig ist und stolpert nach einiger Zeit über das Projekt PHPCompatibility. Dieses Projekt soll angeblich voll automatisch prüfen ob sein Code mit einer PHP-Version seiner Wahl kompatibel ist und ihm auch gleich mitteilen wo es hakt. Peter ist begeistert und probiert es gleich aus.
Er hält sich an die Installationansweisungen zu Methode 1 und installiert PHP_CodeSniffer auf seinem alten Server:
Code:
pear install PHP_CodeSniffer
Code:
cd /usr/share/php/PHP/CodeSniffer/Standards/ git clone https://github.com/wimg/PHPCompatibility.git
Code:
cd /var/www/ChefTool phpcs --standard=PHPCompatibility --runtime-set testVersion 5.5. ./
Code:
FILE: /var/www/ChefTool/checktime.php -------------------------------------------------------------------------------- FOUND 3 ERROR(S) AFFECTING 3 LINE(S) -------------------------------------------------------------------------------- 1 | ERROR | Default timezone is required since PHP 5.4 3 | ERROR | Extension 'mysql_' is deprecated since PHP 5.5 - use mysqli | | instead. 4 | ERROR | Extension 'mysql_' is deprecated since PHP 5.5 - use mysqli | | instead. -------------------------------------------------------------------------------- FILE: /var/www/ChefTool/output.php -------------------------------------------------------------------------------- FOUND 0 ERROR(S) AND 1 WARNING(S) AFFECTING 1 LINE(S) -------------------------------------------------------------------------------- 1 | WARNING | No PHP code was found in this file and short open tags are not | | allowed by this install of PHP. This file may be using short | | open tags but PHP does not allow them. --------------------------------------------------------------------------------
Peter, Paul und Mary sind glücklich das alles so problemlos und schnell klappt und wenn sie nicht gestorben sind dann leben sie noch heute.
Kommentar