Statische Analysetools für PHP
Eine kuratierte Liste statischer Analysetools für PHP.
Mitwirken
Siehe BEITRAGEN.
Inhaltsverzeichnis
- Bugs-Finder
- Codierungsstandards
- DIY
- Fixierer
- Metriken
- SaaS
- Sonstiges
Bugs-Finder
Tools zum Melden von Problemen im Code, die Fehler sind oder zu Fehlern führen.
- AppChecker – statisches Analysetool zum Auffinden von Fehlern, Schwachstellen und Schwachstellen im Quellcode
- Code Insight – Ein Tool zur Analyse anderer Projektcodebasen.
- AST Metrics – Ein blitzschneller statischer Code-Analysator, der Ihnen hilft, Code zu identifizieren, der umgestaltet werden muss.
- Churn-PHP – Entdecken Sie Dateien, die einer Umgestaltung bedürfen.
- Composer-Abhängigkeitsanalysator – Schnelle Erkennung von Composer-Abhängigkeitsproblemen (unbenutzte Abhängigkeiten, Schattenabhängigkeiten, falsch platzierte Abhängigkeiten)
- Composer-Unused – Ein Composer-Tool zum Anzeigen ungenutzter Composer-Abhängigkeiten durch Scannen Ihres Codes.
- Eir – Ein statisches Schwachstellenanalysetool, geschrieben in C#.
- Exakat – Intelligente statische Analyse.
- jscpd – Detektor zum Kopieren/Einfügen für die Programmierung von Quellcode.
- Mondrian – Ein Code-Analysetool unter Verwendung der Graphentheorie.
- name-collision-detector – Erkennt Symbolduplikate (Klassennamenkollisionen).
- noverify – Ziemlich schneller Linter (Dienstprogramm zur statischen Codeanalyse) für PHP.
- Pfff – Tools für Code-Analyse, Visualisierungen oder stilerhaltende Quelltransformation.
- phanalist – Ein statischer Analysator für PHP. Es hilft Ihnen, häufige Fehler in Ihrem PHP-Code zu erkennen.
- PHP Analysis – Eine Bibliothek zum Analysieren und Ändern von PHP-Quellcode in Rascal (PHP AiR).
- PHParch – PHPArch ist eine in Arbeit befindliche Architekturtestbibliothek für PHP-Projekte.
- PHP-Annahme – Findet schwache Annahmen im Code und schlägt vor, sie in stärkere Validierungen umzuwandeln.
- PhpCodeAnalyzer – Ermittelt die Verwendung nicht integrierter Erweiterungen.
- PHPCodeFixer – Findet die Verwendung veralteter Funktionen, Variablen und INI-Anweisungen.
- php-compat-info – Finden Sie die Mindestversion und die Erweiterungen heraus, die erforderlich sind, damit ein Code ausgeführt werden kann.
- php7mar – Bericht des PHP 7-Migrationsassistenten.
- phpcallgraph – Statische Anrufdiagramme generieren. Ein solcher Graph visualisiert die Aufrufabhängigkeiten zwischen Methoden oder Funktionen einer Anwendung.
- PHPCPD – Erkennt kopierten/eingefügten Code und hilft bei der Durchsetzung der DRY-Regel.
- PHPDoctor – Überprüfen Sie PHP-Dateien oder -Verzeichnisse auf fehlende Typen.
- Phan – Der statische Analysator von Rasmus, PHP-Ersteller.
- Phinder – PHP-Codestück-Finder
- Phortress – Ein statischer PHP-Code-Analysator für potenzielle Schwachstellen.
- PHP-Kompatibilität – Finden Sie Code, der mit einer bestimmten Reihe von PHP-Versionen nicht kompatibel ist.
- PHP Deprecation Detector – PhpDeprecationDetector – Analysegerät für PHP-Code zur Suche nach Verwendungen veralteter Funktionalität in neueren Interpreterversionen.
- Statische Analyse von PHP-Code – Programm zur statischen Analyse von PHP-Code, erstellt in nodeJS.
- PHP Inspection – Statisches Analyse-Plugin für PHPStorm.
- PHP Integrator – Indiziert PHP-Code und führt statische Analysen für den Atom-Editor durch.
- Phlint – Phlint ist ein Tool mit dem Ziel, die Qualität von PHP-Code aufrechtzuerhalten, indem es Code analysiert und potenzielle Codeprobleme aufzeigt.
- PHP lint – PHP selbst, kann Syntaxfehler über die Befehlszeile erkennen.
- PHPlint – Ein Validator und Dokumentator für PHP 5-Programme.
- PHP-Parallel-Lint – Ein paralleles PHP-Linting-Tool für PHP 5.4 oder neuer
- PHP Magic Number Detector - PHP Magic Number Detector
- PHP-Malware-Finder – Erkennen Sie potenziell schädliche PHP-Dateien
- PHP Mess Detector – Suchen Sie nach mehreren potenziellen Problemen im Quellcode.
- PHP Reaper – Scannen Sie ADOdb-Code nach SQL-Injections.
- PHP SA – Ein Entwicklungstool, das komplexe Analysen für PHP-Anwendungen und -Bibliotheken ermöglicht.
- PHP Stan – Konzentriert sich darauf, Fehler im Code zu finden, ohne ihn tatsächlich auszuführen.
- PHP Unlocker – Erkennen Sie potenzielle, unbeabsichtigte DB-Tabellensperren für PHP-Anwendungen mithilfe von ADOdb. Verwendet statische Analysemethoden.
- PHP-Testbarkeit – Analysiert und erstellt einen Bericht mit Testbarkeitsproblemen einer PHP-Codebasis.
- PHP Vuln Hunter – Scannen Sie PHP-Schwachstellen automatisch mithilfe statischer Analysemethoden.
- Progpilot – Ein statisches Analysetool für Sicherheitszwecke.
- Psalm – Ein statisches Analysetool zum Auffinden von Fehlern in PHP-Anwendungen.
- psecio:parse – Parse: Ein PHP-Sicherheitsscanner.
- Qodana PHP von JetBrains – Ein statisches Analysetool für PHP-Projekte auf Basis von PhpStorm.
- SonarQube – Eine offene Plattform zur Verwaltung der Codequalität. Es behandelt PHP-Code.
- Seitenkanalanalysator – Suche nach anfälligem Seitenkanalcode.
- TaintPHP – Statischer Taint-Analysator.
- Tuli – Eine statische Analyse-Engine.
- Unused-scanner – Erkennt ungenutzte Composer-Abhängigkeiten
- WAP – Tool zum Erkennen und Beheben von Schwachstellen bei der Eingabevalidierung in PHP-Webanwendungen (4.0 oder höher) und zur Vorhersage falsch positiver Ergebnisse.
- PHP VarDump Check – PHP-Konsolenanwendung zum Auffinden vergessener Variablen-Dumps.
- 17eyes – Statischer PHP-Analysator, geschrieben in Haskell.
- CakeFuzzer – Ultimatives Tool zum Testen der Webanwendungssicherheit für CakePHP-basierte Webanwendungen.
Codierungsstandards
Tools zur Überprüfung der Art und Weise, wie PHP-Code geschrieben wurde, und mehr.
- Pahout – Ein Paar-Programmierpartner zum Schreiben von besserem PHP.
- Composer-normalize – Stellt ein Composer-Plugin zum Normalisieren von Composer.json bereit.
- EasyCodingStandard – Ein benutzerfreundliches Tool, das die einfache Verwendung von CodeSniffer und PHP-CS-Fixer ermöglicht.
- PHPas – Ein Tool zum Formatieren und Verschönern des PHP-Codestils mit meinem Stil.
- PHPArkitect – PHPArkitect hilft Ihnen, Ihre PHP-Codebasis kohärent und solide zu halten, indem es die Möglichkeit bietet, Ihrem Workflow eine Prüfung auf architektonische Einschränkungen hinzuzufügen.
- PHP Code Sniffer – PHPCS prüft und korrigiert den Code automatisch für eine Vielzahl von Codierungsstandards.
- PHPCheckstyle – Ein Tool, das dabei hilft, bestimmte Codierungskonventionen einzuhalten.
- PHP Doc Check – Verwendet Komplexitätsmetriken, um Dokumentationskonventionen für nicht triviale Funktionen durchzusetzen.
- PHP-Formatierer – Dieser PHP-Formatierer soll Ihnen einige Massenaktionen für Ihre PHP-Projekte bieten, um deren Konsistenz sicherzustellen.
- TLint – Dies ist ein eigenständiger Code-Linter (mit wachsender Unterstützung für automatische Formatierung!) zur Verschärfung der Codekonventionen für Laravel und PHP.
DIY
Bibliotheken, die als Basis für einen selbstgebauten statischen Analysator dienen können.
- Deptrac – Ein statisches Code-Analysetool zur Durchsetzung von Regeln für Abhängigkeiten zwischen Softwareschichten.
- PHP-Architekturtester – Einfach zu verwendendes Architekturtest-Tool für PHP
- PHPArkitect – Ein statisches Code-Analysetool zur Durchsetzung architektonischer Regeln in Ihrer Codebasis
- PHP-cfg – Eine Control Flow Graph-Implementierung in PHP. Geschrieben von IrcMaxwell.
- PHP-Kopplungsdetektor – Überprüfen Sie, ob der Code keine unerwünschten gekoppelten Klassen enthält.
- PHP-Parser – Geschrieben in PHP von Nikita Popov und basierend auf der tatsächlichen PHP-Grammatik.
- PHP Token Reflection – Bibliothek, die die interne PHP-Reflektion nur mit dem tokenisierten Quellcode emuliert.
- PHPSandbox – Eine vollwertige PHP 5.3.2+-Sandbox-Klasse, die PHPParser verwendet, um zu verhindern, dass Sandbox-Code unsicheren Code ausführt.
- Reflection – Reflection-Bibliothek zur Durchführung statischer Analysen für PHP-Projekte.
- Bessere Reflexion – Reflexionsbibliothek mit zusätzlichen Funktionen wie dem Parsen von Docblock-Typ-Hinweisen, nutzt den PHP-Parser von Nikic unter der Haube.
Fixierer
Tools zur automatischen Korrektur des bereitgestellten Codes.
- Rector – AST-basierte Sofort-Upgrades von PHP-Anwendungen
- FunctionFQNReplacer – bietet eine Möglichkeit, relative Referenzen von Funktionen in Funktionsaufrufen durch absolute Referenzen zu ersetzen.
- Phpactor – Dieses Projekt zielt darauf ab, leistungsstarke Refactoring- und Introspektion-Tools bereitzustellen.
- PHP BackSlasher – Tool zum Hinzufügen aller PHP-internen Funktionen und Konstanten zu seinem Namespace durch Hinzufügen eines Backslashs.
- php-refactoring-browser – CLI-Refactoring-Tool.
- PHP CS Fixer – Analysiert und versucht, Probleme mit Codierungsstandards zu beheben (PSR-1- und PSR-2-kompatibel).
- phpdoc zu typehint – Verwandeln Sie phpdocs-Kommentare in tatsächliche Typehint (Argumente und Rückgabe).
- php-scoper – Stellt allen PHP-Namespaces in einer Datei/einem Verzeichnis ein Präfix voran, um den in PHARs gebündelten Code zu isolieren.
- Transphpile – Schreiben Sie PHP 7, führen Sie PHP 5.6 aus, mit Feature-Backport.
- PHP Weaver – Parametertypen zur Laufzeit analysieren und die entsprechenden PHP-Dokumente generieren.
Metriken
Tools zur Messung der Codekomplexität, Codezeile usw.
- AST-Metriken – Ein blitzschneller statischer Code-Analysator, der verschiedene Metriken berechnet, um Code zu identifizieren, der umgestaltet werden muss, und eine schöne grafische Oberfläche bietet.
- churn-php – Hilft dabei, gute Kandidaten für ein Refactoring zu finden.
- Design Pattern Detector – Erkennung von Designmustern im PHP-Code.
- dePHPend – dePHPend hilft bei der Analyse von Abhängigkeiten und Architektur und ermöglicht Ihnen die Definition von Einschränkungen für beide.
- Dissect – Eine Reihe von Werkzeugen für die lexikalische und syntaktische Analyse.
- php-arguments-detector – Behalten Sie die Kontrolle über die Komplexität Ihrer Methoden, indem Sie sicherstellen, dass sie nicht zu viele Argumente haben.
- php-smelly-code-detector – PHP-Code-Geruchsdetektor.
- PHPLOC – Dienstprogramm zum Messen der PHP-Anwendungsgröße und Zählen verschiedener Strukturen.
- PHP-Metriken – Berechnet alle Arten von Metriken und zeigt sie in einer wunderschönen Benutzeroberfläche an.
- PHP Semantic Versioning Checker – Vergleicht zwei Quellsätze und bestimmt die geeignete semantische Versionierung, die angewendet werden soll.
- PhpStats – Tool zum Sammeln von Statistiken, Metriken, Abhängigkeiten und zum Erstellen verschiedener Diagramme für große Projekte, um Engpässe zu finden.
- PhpDependencyAnalysis – Statische Codeanalyse zur Bereitstellung und Überprüfung eines Abhängigkeitsdiagramms gegenüber einer definierten Architektur.
- php-wording-detector – Einfaches Tool zum Analysieren und Aufteilen der in Ihrem Code enthaltenen Wörter, um Ihren DDD-Ansatz zu überprüfen.
- Quality Analyzer – Quality Analyzer ist ein Tool zur Visualisierung von Metriken und Quellcode.
Visualisierung
Tools, die PHP-Code grafisch darstellen
- PHPcity – PHPCity ist eine Implementierung der Stadtmetaphervisualisierung und bietet die Visualisierung von PHP-Projekten, die objektorientiert implementiert sind.
SaaS
Online-Dienste für PHP-Code bieten Dashboards. Sie können die bisherigen Tools verwenden oder eigene anbieten.
- Bliss – Überprüft den Code automatisch in Echtzeit und zeigt an, wie viel er in Codezeilen wert ist.
- Codacy – Codacy: Automatisierte Codeüberprüfung.
- CodeBeaat – Technische Schulden verringern. Finden Sie Refactoring-Möglichkeiten.
- Code Climate – Gehostete statische Analyse für Ruby-, PHP- und JavaScript-Quellcode.
- CodeScene – Priorisieren Sie technische Schulden in PHP, JavaScript usw.
- Codegrip – Intelligenterer und sicherer Weg zur Codeüberprüfung
- Deepsource – DeepSource ist eine moderne statische Analyseplattform, die für Ingenieurteams entwickelt wurde, die schnell agieren und nichts kaputt machen.
- Insight – Ein SensioLabs-Tool zur Analyse des Quellcodes, um Probleme zu finden, die die Gesamtqualität Ihrer Projekte beeinträchtigen.
- Insphpect – Insphpect ist ein automatisiertes Code-Review-Tool, das Inflexibilitäten im PHP-Code erkennt und Ihnen hilft, bessere Software zu schreiben.
- RIPS – Die überlegene Sicherheitssoftware für PHP-Anwendungen. Statischer Quellcode-Analysator für Schwachstellen.
- Scrutinizer – Verbessern Sie die Codequalität und finden Sie Fehler, bevor sie in die Produktion gelangen, mit unserer kontinuierlichen Inspektionsplattform.
- Sourcegraph – Verstehen und durchsuchen Sie Ihre gesamte Codebasis
- SideCI – CI für automatisierte Codeüberprüfung durch Codeanalyse.
- Laravelshift – die automatisierte Möglichkeit, Laravel-Anwendungen zu aktualisieren. Aktualisieren Sie Laravel-Anwendungen vollständig von Laravel 4.2 auf die neueste Version von Laravel.
Sonstiges
- HHVM – Hack-Sprache von Facebook. Fügen Sie bis Version 3.3.8 eine SCA hinzu, neuere Versionen haben keine mehr.
- PHP Manipulator – Eine Bibliothek zum Analysieren und Ändern von PHP-Quellcode.
- PHP Parser – Eine NodeJS-Bibliothek zum Parsen von PHP und zum Extrahieren von Tokens und AST.
- PHPQA – Ein Wrapper für viele PHP-Tools, die in einer einzigen HTML-Datei zusammengefasst sind.
- Fixtro – Ein Wrapper, der die Ausführung in jedem Precommit ermöglicht. Es installiert selbst alle Abhängigkeiten für die Läufer mit vielen davon (phpunit, phpmd, php-cs-fixer usw.).
- Coverage Checker – Ein Tool, mit dem einige der hier aufgeführten Tools nur auf geänderten Code angewendet werden können. Gut für den Übergang zu neuen Standards
- Composer Require Checker – Ein CLI-Tool zum Überprüfen, ob ein bestimmtes Composer-Paket importierte Symbole verwendet, die nicht Teil seiner direkten Composer-Abhängigkeiten sind
- Baseliner für statische Analyseergebnisse – Ein Tool zum Generieren einer Baseline aus statischen Analysetools.