Patty: Syntaxchecker für PHP5

Hallo,
ich habe im Internet zwar Seiten gefunden in denen man (z.B. mit cut&paste) ein PHP-Programm eingeben und dann prüfen lassen kann.
Gibt es jedoch ein Programm, das ich auf meinen PC laden kann, um offline auf Syntaxfehler/PHP5-Kompatibilität zu prüfen?
Optimal wäre es, wenn auf einfache Weise ein gesamtes Programmpaket (also Hauptprogramm und include-Module) geprüft werden könnte.

  1. Hi,

    ich habe im Internet zwar Seiten gefunden in denen man (z.B. mit cut&paste) ein PHP-Programm eingeben und dann prüfen lassen kann.
    Gibt es jedoch ein Programm, das ich auf meinen PC laden kann, um offline auf Syntaxfehler/PHP5-Kompatibilität zu prüfen?

    Wie wäre es mit php selber? Mach die Kommandozeile auf, navigier zu deinem Verzeichnis, und gib dann ein: "php -l <DATEINAME>".

    Optimal wäre es, wenn auf einfache Weise ein gesamtes Programmpaket (also Hauptprogramm und include-Module) geprüft werden könnte.

    Ich habe dazu folgenden Ant-Task:

     <target description="Perform syntax check of sourcecode files" name="lint">  
        <apply executable="php" failonerror="true">  
          <arg value="-l"/>  
          <fileset dir="${basedir}/src">  
            <include name="**/*.php"/>  
            <modified/>  
          </fileset>  
        </apply>  
      </target>  
    
    

    Das lintet dir alle *.php-Dateien unterhalb von src. Für jede Datei wird die Checksumme gespeichert, so dass es nicht nochmal ausgeführt wird, wenn die Datei sich nicht geändert hat.

    Bis die Tage,
    Matti

    1. Hi Matti,

      Optimal wäre es, wenn auf einfache Weise ein gesamtes Programmpaket (also Hauptprogramm und include-Module) geprüft werden könnte.

      Ich habe dazu folgenden Ant-Task:

      <target description="Perform syntax check of sourcecode files" name="lint">

      <apply executable="php" failonerror="true">
        .....
      </target>

      
      >   
        
        
      Diese Ant kenne ich überhaupt nicht.  
      Wie kann ich obiges ausführen, ohne mich in das System einarbeiten zu müssen?
      
  2. Moin,

    machen das die modernen IDEs nicht automatisch? Ich selbst benutz den Notepad++, aber wenn ich mal bei einem Kollegen am Rechner aushelfe werden mir die PHP Fehler nur so um die Ohren gehauen.

    Gruß
    Notepad Fan
    T-Rex

  3. Mich würde brennend interessieren, woher diese Frage rührt. Vielleicht kann man Dir noch viel mehr helfen, wenn Du Deine Absicht verrätst.

    Cheers,
    Baba

    1. Mich würde brennend interessieren, woher diese Frage rührt. Vielleicht kann man Dir noch viel mehr helfen, wenn Du Deine Absicht verrätst.

      Hi,
      ich habe über die Jahre PHP-Programme (alle zur Generierung von Homepages, Auswertung von Kontaktformularen, Gästebüchern.
      Jetzt stellt der Provider auf 5.x um. Und ich weiß leider nicht, was ich ggf. ändern müsste.
      Wenn ich anschaue, was sich von PHP4 auf PHP5 geändert hat befällt mich ein kalter Schauer. Es wäre mühsam alle Programme einzeln anzuschauen und nach Teilen zu schaen, die umzustellen sind.
      Als wäre es doch schön, wenn mir das ein Programm sagen könnte - wie geschrieben nicht so, dass ich jedes Proramm einzeln angeben müsste.
      Gruß
      Patty

      1. Hallo,

        Jetzt stellt der Provider auf 5.x um. Und ich weiß leider nicht, was ich ggf. ändern müsste.
        Wenn ich anschaue, was sich von PHP4 auf PHP5 geändert hat befällt mich ein kalter Schauer. Es wäre mühsam alle Programme einzeln anzuschauen und nach Teilen zu schaen, die umzustellen sind.
        Als wäre es doch schön, wenn mir das ein Programm sagen könnte - wie geschrieben nicht so, dass ich jedes Proramm einzeln angeben müsste.

        ach du liebe Güte - nein, ein solches Tool gibt es sicher nicht.
        Denn mit einer Syntaxanalyse ist es ja nicht getan. Das Tool müsste die Logik eines PHP-Scripts erkennen, um beurteilen zu können, ob das mit einer neuen PHP-Version noch "funktionieren" wird. wobei "funktionieren" hier absichtlich in Anführungszeichen steht, weil aus dem Code nicht unmittelbar hervorgeht, was der der Programmierer dabei _gedacht_ hat.

        Syntaktisch sind Scripts, die für PHP4 geschrieben sind, ja auch in PHP 5 weiterhin korrekt, und man kann nur wenige Merkmale an bestimmten Keywords festmachen. Sicher, das Auftreten von $HTTP_GET_VARS wäre schon ein starkes Indiz dafür, dass der Code unter einer aktuellen PHP-Version nicht mehr laufen wird. Aber so einfach ist es ja meist nicht.

        Sorry, da wirst du nicht drumherum kommen, jedes Script einzeln anzufassen und durchzuarbeiten.

        So long,
         Martin

        --
        In sein ist schon längst wieder out.
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      2. Alles klar. Ich dachte an etwas anderes.

        Meine Idee wäre:
        Eclipse (mit php) verwenden, Projekt erstellen, PHP version 5 einstellen. Dann Stück für Stück die Fehler in den Scipts beheben. Der Vorschlag ähnelt der Notepad++ Methode.
        Oder Du wechselst serverseitig wieder auf PHP4 um. Geht es nur darum, die alten Scripte lauffähig zu halten, oder musst sie noch warten? Wenn nicht, lass wieder auf PHP4 umstellen. Wenn nicht möglich, migriere die Scripte auf einen Server, wo Du das kannst. Ich meine, wenn Du Dir für asbach Scripte 4 Tage Zeit nehmen musst, um sie wieder lauffähig zu machen, könnte das eine Alternative sein.

        Cheers,
        Baba

      3. Hi,

        von Nusphere gibts einen Editor der so was können müsste.
        Ich hab ihn ne Zeit zum proggen genutzt, aber natürlich nicht drauf geachtet, ob er Versionsunterschiede macht. Läuft nur x-Tage voll, ist Shareware. Wenn Du nur die Umstellung machst, dürfte es reichen ;-)
        Viele Grüße aus LA

        --
        ralphi