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.
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:
Level Error count Increment 0
1
2
3
4
5
6
7
80
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.
- Prüfe die
-
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.
- Entferne jegliche Baselines, globale Ignorierlisten oder Erweiterungen, die eventuell Fehler unterdrücken könnten.
-
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
- Installiere PHPStan Bodyscan:
-
Automatisierung der Analyse:
Um den Prozess zu beschleunigen, kannst du die manuelle Anpassung derphpstan.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 |
+-------+-------------+
- 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.
-
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.