Never Code Alone Logo Never Code Alone
Tabelle mit den Ergebnissen eines PHPStan-Bodyscans, die für die Level 0 bis 8 die jeweilige Anzahl der gefundenen Fehler und den Zuwachs gegenüber dem vorherigen Level zeigt. Die Fehlerzahlen steigen von 0 auf Level 0 bis auf 388 auf Level 8.

PHPStan Bodyscan: Finde Bugs in deinem PHP-Code ohne Tests

Möchtest du die Codequalität deines PHP-Projekts schnell und einfach analysieren? PHPStan Bodyscan hilft dir, das optimale PHPStan-Level für dein Projekt zu finden und abzuschätzen, wie viel Arbeit nötig ist, um die gewünschte Codequalität zu erreichen. Steigere jetzt deine Entwicklungseffizienz und lerne die besten Tipps und Tricks in unseren Live-Coding-Tutorials auf YouTube!

PHPStan Bodyscan

PHPStan Bodyscan ist ein Tool, das dir einen schnellen Überblick über die Codequalität deines PHP-Projekts gibt. Es hilft dir zu verstehen, welches PHPStan-Level am besten für dein Projekt geeignet ist und wie viele Fehler du pro Level beheben musst, um die gewünschte Codequalität zu erreichen.

Wie funktioniert PHPStan Bodyscan?

  • Konfiguration finden: 
    PHPStan Bodyscan sucht im Projektstammverzeichnis nach einer phpstan.neon Datei. Wenn eine gefunden wird, wird diese wiederverwendet. Andernfalls sucht es nach Standard-Quellcode-Pfaden wie /src, /app, /tests usw.

  • Analyse durchführen: 
    PHPStan Bodyscan führt dann für jedes Level von 0 bis 8 eine vollständige PHPStan-Analyse durch. Es zählt die Fehler und zeigt sie in einer Tabelle an.

  • Ergebnisse anzeigen: 
    Nach Abschluss der Analyse erhältst du eine Übersicht über die Anzahl der Fehler pro PHPStan-Level. Dies hilft dir abzuschätzen, wie viel Arbeit nötig ist, um ein bestimmtes Level zu erreichen.

CYPRESS.IO Ambassador und IT Consultant für QA Engenieering und Qualität in PHP Projekten.

Erreichen Sie unsere PHP Consultant Spezialisten

Wir sind Experten für PHP und helfen Ihnen, Ihre digitalen Herausforderungen zu meistern. Unser erfahrenes Team unterstützt Sie bei PHP Updates, PHP Refactoring und berät Sie remote zu allen Fragen rund um PHP. Mit unseren vollautomatischen CI/CD Deployments und einer robusten Docker-Infrastruktur bringen wir Ihre PHP-Projekte auf das nächste Level. Vertrauen Sie auf unsere Expertise für zuverlässige und skalierbare PHP-Lösungen.

Welche Vorteile bietet PHPStan Bodyscan?

  • Schneller Überblick: 
    Verschaffe dir in kurzer Zeit einen Überblick über die Codequalität deines Projekts.

  • Level-Empfehlung: 
    Finde heraus, welches PHPStan-Level am besten zu deinem Projekt passt.

  • Aufwandsabschätzung: 
    Schätze ab, wie viel Arbeit nötig ist, um ein bestimmtes PHPStan-Level zu erreichen.

  • Typabdeckung messen: 
    Mit dem Befehl type-coverage kannst du die Abdeckung von Parametertypen, Eigenschaftstypen, Rückgabetypen und strikten Deklarationen messen.

  • Legacy-Code unterstützt:
    Auch wenn dein Projekt keinen Autoloader verwendet, kann PHPStan Bodyscan dir helfen, die Codequalität zu verbessern.

  • Framework-Unterstützung:
    PHPStan Bodyscan funktioniert nahtlos mit populären Frameworks wie Symfony, Laravel oder Doctrine.

  • Neue Sprachfunktionen:
    Nutze neue Sprachfunktionen wie Generics, Array-Shapes oder geprüfte Ausnahmen schon heute durch die Verwendung von PHPDocs.

Wie verwendest du PHPStan Bodyscan?

  • Installiere PHPStan Bodyscan mit Composer:
    composer require tomasvotruba/phpstan-bodyscan --dev

  • Führe PHPStan Bodyscan in deinem Projekt aus:
    vendor/bin/phpstan-bodyscan

  • Das Tool führt für jedes PHPStan-Level eine Analyse durch und zeigt die Ergebnisse in einer Tabelle an:

    LevelError countIncrement
    0
    1
    2
    3
    4
    5
    6
    7
    8
    0
    35
    59
    59
    120
    120
    253
    350
    359
    -
    + 35
    + 24
    -
    + 61
    -
    + 133
    + 97
    +9

Mit PHPStan Bodyscan kannst du die Codequalität deines PHP-Projekts schnell und einfach analysieren. Es hilft dir, das optimale PHPStan-Level für dein Projekt zu finden und abzuschätzen, wie viel Arbeit nötig ist, um die gewünschte Codequalität zu erreichen.

Dank der Unterstützung für Legacy-Code, Frameworks und neue Sprachfunktionen ist PHPStan Bodyscan ein wertvolles Werkzeug für jedes PHP-Projekt.

Tipps zur effektiven Nutzung von PHPStan Bodyscan

Diese Tipps ermöglichen eine effiziente und strukturierte Nutzung von PHPStan Bodyscan, um den Zustand eines Projekts schnell zu analysieren, die Fehler zu identifizieren und den Fortschritt nachvollziehbar zu machen.

  • Schnelle Einschätzung eines Projekts
    Bevor du tief in den Code eintauchst, ist es sinnvoll, einen Überblick über das Projekt zu gewinnen. Dazu kannst du folgendes tun:
     

    • Prüfe die composer.json, um herauszufinden, welche Pakete und Versionen verwendet werden.
    •  
    • Miss die Zeilenanzahl des Codes, um die Größenordnung des Projekts abzuschätzen.
       
    • Führe PHPStan Bodyscan durch, um eine erste Übersicht der statischen Fehler zu erhalten, ohne die Baselines oder ignorierten Fehler in Betracht zu ziehen.
  • Erstellung einer minimalen phpstan.neon Konfiguration
    Wenn du eine saubere Analyse ohne falsch positive Fehler wünschst, erstelle eine "bare" phpstan.neon Datei. Dies kannst du folgendermaßen machen:
     

    • Entferne jegliche Baselines, globale Ignorierlisten oder Erweiterungen, die eventuell Fehler unterdrücken könnten.
       
    • Setze in der phpstan.neon Datei nur das Notwendige, wie Pfade zu den zu analysierenden Dateien und das gewünschte Level.
       
    • Verwende die Kommandozeile, um PHPStan für jedes Level auszuführen: phpstan analyse --level=X. Dies hilft dir, das tatsächliche Fehlerbild zu sehen, ohne durch Baselines verfälschte Ergebnisse.
  • Fehlerzählen auf allen PHPStan Levels
    Um den aktuellen Zustand des Projekts zu erfassen und zu dokumentieren, kannst du PHPStan Bodyscan nutzen, um eine Fehlerübersicht für alle Level zu erhalten:
     

    • Installiere PHPStan Bodyscan:
       
    • Führe das Tool lokal im Projektverzeichnis aus:
       
    • Alternativ kannst du das Tool auf einem anderen Projekt in einem separaten Verzeichnis ausführen:
       
    • Die Ausgabe zeigt dir die Anzahl der Fehler für jeden Level in einer übersichtlichen Tabelle. Dies ermöglicht dir, eine fundierte Entscheidung darüber zu treffen, auf welchem Level du mit der Fehlerbehebung beginnen möchtest.

    bash

    vendor/bin/phpstan-bodyscan run ../path-to-another-project

    bash

    vendor/bin/phpstan-bodyscan

    lua

    composer require tomasvotruba/phpstan-bodyscan --dev

  • Automatisierung der Analyse
    Um den Prozess zu beschleunigen, kannst du die manuelle Anpassung der phpstan.neon Datei und die mehrfache Ausführung von PHPStan automatisieren:
     

    • PHPStan Bodyscan übernimmt diesen Schritt für dich, indem es PHPStan von Level 0 bis zum höchsten Level automatisch ausführt und die Fehler für jedes Level erfasst. Dies spart dir Zeit und Mühe.
       
    • Ein Beispiel für eine mögliche Ausgabe des Tools könnte folgendermaßen aussehen:

    diff

    +-------+-------------+

    | Level | Error count |

    +-------+-------------+

    |     0 |           0 |

    |     1 |          35 |

    |     2 |          59 |

    |     3 |          93 |

    |     4 |         120 |

    |     5 |         125 |

    |     6 |         253 |

    |     7 |         350 |

    |     8 |         359 |

    +-------+-------------+

  • Fortschritt dokumentieren

    Ein nützlicher Nebeneffekt dieser standardisierten Fehlertabellen ist, dass du den Fortschritt über die Zeit dokumentieren und vergleichen kannst. Dies ist besonders hilfreich, wenn du regelmäßig Updates oder Berichte erstellen musst. Du kannst so auch aufzeigen, wie die Fehleranzahl im Laufe der Zeit reduziert wurde, was für das Management oder andere Stakeholder von Interesse sein könnte.