Grüne und gelbe Punkte unterschiedlicher Größe in einem dunkelblauen Kreis.

Einführung PHP Metrics

PHP Metrics ist ein statisches Analysewerkzeug, das verschiedene Metriken über eine PHP-Codebasis liefert. Es hilft Entwicklern dabei, die Qualität, Komplexität und Struktur ihres Codes besser zu verstehen, indem es detaillierte Berichte und Visualisierungen zu verschiedenen Aspekten des Codes liefert. PHP Metrics ist ein fortgeschrittenes Analysewerkzeug, das darauf abzielt, die Struktur und Qualität eines PHP-Codes zu bewerten und zu verbessern.

Installation und Einrichtung von PHP Metrics

Installation via Composer

Die Installation erfolgt typischerweise über Composer:

Code:
          

composer require halaxa/phpmetrics
 

Nach der Installation steht Ihnen der phpmetrics-Befehl zur Verfügung.

Konfiguration und Anpassung von PHP Metrics

PHP Metrics bietet eine Vielzahl von Konfigurationsmöglichkeiten, um die Analyse an die spezifischen Bedürfnisse Ihres Projekts anzupassen.

Grundlegende Verwendung

Nach der Installation kann PHP Metrics über die Kommandozeile auf eine PHP-Codebasis angewendet werden:

Code:
          

./vendor/bin/phpmetrics src/
 

Dieser Befehl analysiert das src/-Verzeichnis Ihres Projekts und generiert einen Bericht. Standardmäßig wird der Bericht im HTML-Format erzeugt.

Ausgabeformate

PHP Metrics unterstützt verschiedene Ausgabeformate, darunter HTML, XML, CSV, JSON und Text. Sie können das gewünschte Format mit der Option --report-html, --report-xml, --report-csv, --report-json oder --report-text angeben.

Beispiel für die Generierung eines HTML-Reports:

Code:
          

./vendor/bin/phpmetrics --report-html=report.html src/
 

Metriken konfigurieren

Die Software bietet die Möglichkeit, die anzuzeigenden Metriken zu konfigurieren, um irrelevante Daten auszublenden und die Aufmerksamkeit auf die wichtigsten Aspekte zu lenken.

Ignorieren von Dateien und Ordnern

Sie können bestimmte Dateien und Ordner von der Analyse ausschließen, um die Analysezeit zu verkürzen und irrelevante Ergebnisse zu vermeiden. Verwenden Sie hierfür die Option --excluded-dirs oder --excluded-files.

Beispiel:

Code:
          

./vendor/bin/phpmetrics --excluded-dirs=vendor,tests src/
 

Dieser Befehl schließt die Ordner vendor und tests von der Analyse aus.

Konfigurationsdatei

PHP Metrics unterstützt Konfigurationsdateien, um die Analyseparameter zu speichern und wiederzuverwenden. Die Konfigurationsdatei kann im YAML- oder JSON-Format vorliegen.

Beispiel für eine YAML-Konfigurationsdatei:

Code:
          

paths:
   - src/
exclude:
   - vendor/
   - tests/
report:
   html: report.html
 

Verwendung von PHP Metrics

Metriken im Detail

PHP Metrics berechnet eine Vielzahl von Metriken, die Aufschluss über verschiedene Aspekte der Codequalität geben:

Zyklomatische Komplexität: Misst die Anzahl der unabhängigen Pfade durch den Code. Ein hoher Wert deutet auf komplexen, schwer verständlichen Code hin.

Maintainability Index: Kombiniert verschiedene Metriken, um die Wartbarkeit des Codes zu bewerten.

Kopplungsgrad: Misst die Abhängigkeiten zwischen Klassen und Modulen. Hohe Kopplung kann zu unerwarteten Nebeneffekten bei Änderungen führen.

Größe und Volumen des Codes: Bezieht sich auf die physischen Aspekte des Codes, wie die Anzahl der Zeilen und Dateien.

Abstraktion, Instabilität, Distanz von der Hauptsequenz: Metriken aus der Robert-Martin-Methode, die zur Bewertung der Stabilität und Flexibilität des Designs dienen.

Interpretation der Ergebnisse

Die Ergebnisse von PHP Metrics sollten als Hinweise betrachtet werden. Analysieren Sie die Berichte sorgfältig und identifizieren Sie Bereiche, die verbessert werden können. Achten Sie besonders auf hohe Werte bei der zyklomatischen Komplexität und niedrige Werte beim Maintainability Index.

Automatisierung

PHP Metrics kann in Build-Prozesse und Continuous Integration Pipelines integriert werden, um die Qualität des Codes kontinuierlich zu überwachen und sicherzustellen, dass neue Änderungen keine Verschlechterungen verursachen.

Integration in CI/CD-Pipelines

PHP Metrics lässt sich problemlos in CI/CD-Pipelines integrieren. Hier ein Beispiel für GitLab CI:

Code:
          

static_analysis:
 image: composer:latest
 stage: test
 script:
   - composer require halaxa/phpmetrics
   - vendor/bin/phpmetrics --report-html=phpmetrics.html src/
 artifacts:
   paths:
     - phpmetrics.html
 

Tipps und Best Practices für PHP Metrics

Beginnen Sie mit einer Basiskonfiguration und passen Sie diese schrittweise an Ihre Bedürfnisse an.

Nutzen Sie die Möglichkeit, Dateien und Ordner auszuschließen, um irrelevante Codebereiche zu ignorieren.

Integrieren Sie PHP Metrics in Ihre CI/CD-Pipeline, um die Codequalität kontinuierlich zu überwachen.

Berücksichtigen Sie die Ergebnisse von PHP Metrics im Review-Prozess.

Verwenden Sie die Metriken als Ausgangspunkt für Code-Refactoring und -Verbesserungen.

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.

Häufig gestellte Fragen (FAQ)

Wie kann ich PHP Metrics in meine IDE integrieren?

Es gibt keine direkte Integration in alle IDEs, aber die generierten Reports können im Browser oder über Plugins angezeigt werden.

Wie behebe ich die von PHP Metrics aufgezeigten Probleme?

Beginnen Sie mit der Analyse der Stellen mit hohen Komplexitätswerten und versuchen Sie, den Code zu vereinfachen und zu strukturieren.

Kann ich PHP Metrics verwenden, um die Einhaltung von Coding-Standards zu überprüfen?

PHP Metrics konzentriert sich eher auf Struktur und Architektur als auf Coding-Standards, hierfür sind andere Tools besser geeignet (z.B. PHP_CodeSniffer).

Wie kann ich die Analysezeit von PHP Metrics verkürzen?

Schließen Sie irrelevante Ordner und Dateien aus der Analyse aus.

Unterstützt PHP Metrics PHP 8 und höher?

Ja, PHP Metrics unterstützt PHP 8 und höhere Versionen.

Kann ich PHP Metrics verwenden, um Legacy-Code zu analysieren?

Ja, PHP Metrics kann verwendet werden, um Legacy-Code zu analysieren und Schwachstellen aufzudecken.

Bildergallerie PHP Metrics

Die PHP Metrics Bildergalerie bietet eine visuelle Darstellung der statistischen Code-Analyse für PHP. Mit PHP Metrics kannst du die Komplexität, Wartbarkeit, Kopplung und Code-Duplizierungen in deinen Projekten analysieren, um die Softwarequalität nachhaltig zu verbessern.

Screenshot des PHP Metrics Dashboards mit Code-Analyse-Daten, einschließlich Anzahl der Klassen, Zeilen Code, zyklomatischer Komplexität und Fehlerstatistik. Diagramme zur Wartbarkeit und Klassifizierung von Code-Strukturen sind ebenfalls sichtbar.

Übersicht des PHP Metrics Reports mit Zyklomatische Komplexität, LCOM (Lack of Cohesion in Methods) und Abstraktheit/Instabilität-Diagrammen. Farbcodierte Kreise symbolisieren die Wartbarkeit und Code-Größe.

Tabellarischer Bericht aus PHP Metrics mit Code-Metriken wie Lines of Code (LOC), Effizienz, Länge, Volumen, Wortschatz und Wartbarkeitsindex (MI). Farben kennzeichnen die Qualität einzelner Codebereiche.