Ankündigung

Einklappen
Keine Ankündigung bisher.

2. Peter, Paul und Mary schnüffeln

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 2. Peter, Paul und Mary schnüffeln

    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:

    Code:
    pear install PHP_CodeSniffer
    Danach packt er das PHPCompatibility-Projekt in den CodeSniffer:

    Code:
    cd /usr/share/php/PHP/CodeSniffer/Standards/
    git clone https://github.com/wimg/PHPCompatibility.git
    Das wars schon. Jetzt kann Peter loslegen und sein Tool prüfen:

    Code:
    cd /var/www/ChefTool 
    phpcs --standard=PHPCompatibility --runtime-set testVersion 5.5. ./
    Er bekommt jetzt für alle Dateien in seinem Verzeichnis eine Ausgabe wie die folgende:

    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.
    --------------------------------------------------------------------------------
    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.


  • #2
    Oder:
    und wenn sie nicht gestorben sind dann migrieren sie noch heute.


    Klappt das denn wirklich so zuverlässig? Wäre ja super, wenn das der Fall ist.

    Kommentar


    • #3
      Klappt das denn wirklich so zuverlässig?
      Das ist eine gute Frage. Ich habe bisher keinen Fall gehabt der nicht abgefangen wurde, aber das muss ja nichts heißen. Ein finaler Test sollte wohl schon sein.

      Kommentar


      • #4
        pear -> composer :P
        [URL="https://gitter.im/php-de/chat?utm_source=share-link&utm_medium=link&utm_campaign=share-link"]PHP.de Gitter.im Chat[/URL] - [URL="https://raindrop.io/user/32178"]Meine öffentlichen Bookmarks[/URL] ← Ich habe dir geholfen ? [B][URL="https://www.amazon.de/gp/wishlist/348FHGUZWTNL0"]Beschenk mich[/URL][/B].

        Kommentar

        Lädt...
        X