
Inhaltsverzeichnis
Einleitung Psalm
Psalm ist ein statisches Analysewerkzeug für PHP, das darauf abzielt, Fehler im Code zu erkennen, bevor dieser ausgeführt wird. Es geht über die grundlegenden Syntaxprüfungen hinaus und analysiert den Code auf Typfehler, tote Code-Bereiche, ungenutzte Variablen und vieles mehr. Durch die frühzeitige Erkennung von Fehlern hilft Psalm, die Codequalität zu verbessern, die Wartbarkeit zu erhöhen und das Risiko von Laufzeitfehlern zu reduzieren.
Installation und Einrichtung von Psalm
Voraussetzungen
PHP: Version 7.1 oder höher (empfohlen wird die neueste stabile Version)
Composer: Für die Installation und Verwaltung von Abhängigkeiten
Installation
Installation via Composer:
composer require --dev vimeo/psalm
Initialisierung im Projekt:
./vendor/bin/psalm --init
Dies erstellt eine psalm.xml
-Konfigurationsdatei im Projektverzeichnis.
Hauptfunktionen Psalm
Statische Codeanalyse: Detaillierte Analyse des Codes ohne Ausführung.
Typprüfung: Erkennung von Typfehlern, Inkonsistenzen und fehlenden Typdeklarationen.
Fehlererkennung: Aufspüren von potenziellem toten Code, ungenutzten Variablen und anderen Problemen.
Automatische Fehlerbehebung (Auto-Fixes): Psalm bietet Vorschläge zur automatischen Behebung vieler erkannter Probleme.
Baseline-Generierung: Erstellung einer Baseline, um bestehende Fehler zu ignorieren und sich auf neue Fehler zu konzentrieren.
Integration mit IDEs: Unterstützung für verschiedene IDEs wie PhpStorm und VS Code.
Erweiterbarkeit: Möglichkeit zur Definition eigener Regeln und Plugins.
Vorteile Psalm
Verbesserte Codequalität: Reduzierung von Fehlern und Erhöhung der Lesbarkeit.
Frühe Fehlererkennung: Vermeidung von Laufzeitfehlern durch statische Analyse.
Erhöhte Wartbarkeit: Vereinfachung der Wartung und des Refactorings von Code.
Bessere Zusammenarbeit: Einheitliche Codebasis durch Einhaltung von Coding Standards.
Zeitersparnis: Reduzierung der Zeit für Debugging und Testen.
Konfiguration und Verwendung von Psalm
Konfigurationsdatei (psalm.xml)
Die psalm.xml
-Datei enthält alle Konfigurationseinstellungen für Psalm. Hier ein Beispiel:
<?xml version="1.0"?>
<psalm
errorLevel="1"
xmlns="https://getpsalm.org/schema/config"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
autoloader="vendor/autoload.php"
cacheDirectory=".psalm_cache"
>
<projectFiles>
<directory name="src"/>
<ignoreFiles>
<directory name="vendor"/>
</ignoreFiles>
</projectFiles>
<issueHandlers>
<MissingReturnType>
<errorLevel type="suppress"/>
</MissingReturnType>
</issueHandlers>
</psalm>
Wichtige Konfigurationsparameter
errorLevel
: Definiert den Grad der Strenge für die Fehleranalyse (1-4, wobei 1 am strengsten ist).
autoloader
: Pfad zum Autoloader des Projekts.
cacheDirectory
: Verzeichnis für den Cache, um die Analysegeschwindigkeit zu erhöhen.
<projectFiles>
: Definiert die zu analysierenden Dateien und Verzeichnisse.
<issueHandlers>
: Ermöglicht die Konfiguration, wie bestimmte Fehlertypen behandelt werden sollen.
Psalm ausführen
Analyse des Projekts:
./vendor/bin/psalm
Dies führt die Analyse durch und zeigt alle gefundenen Fehler und Warnungen an.
Erstellung einer Baseline:
./vendor/bin/psalm --baseline=baseline.xml
Erstellt eine Baseline-Datei, um bestehende Fehler zu ignorieren. Diese Datei kann später verwendet werden, um sich auf neue Fehler zu konzentrieren.
Automatische Fehlerbehebung:
./vendor/bin/psalm --alter
Psalm versucht, gefundene Fehler automatisch zu beheben. Achtung: Änderungen sollten vor der Übernahme geprüft werden.
Psalm in CI/CD-Pipelines integrieren
Psalm lässt sich nahtlos in CI/CD-Pipelines integrieren, um die Codequalität bei jedem Commit oder Pull Request zu überprüfen. Hier ist ein Beispiel für eine GitLab CI-Konfiguration:
stages:
- analyze
psalm:
stage: analyze
image: composer:latest
before_script:
- composer install --no-interaction
script:
- ./vendor/bin/psalm --no-cache
artifacts:
reports:
codequality: gl-code-quality-report.json
Schritte zur Integration
Definiere eine Analyse-Stage: In deiner CI/CD-Konfiguration.
Installiere Abhängigkeiten: Stelle sicher, dass Composer-Abhängigkeiten installiert sind.
Führe Psalm aus: Verwende den ./vendor/bin/psalm
-Befehl.
Konfiguriere Artefakte: Speichere den Bericht, um ihn in der CI/CD-Pipeline anzuzeigen.
Tipps und Best Practices Psalm
Kontinuierliche Integration: Integriere Psalm in deine CI/CD-Pipeline, um die Codequalität kontinuierlich zu überwachen.
Baseline verwenden: Verwende eine Baseline, um dich auf neue Fehler zu konzentrieren und die Codebasis schrittweise zu verbessern.
Typdeklarationen verwenden: Nutze Typdeklarationen (Return Types, Parameter Types), um die Genauigkeit der Analyse zu erhöhen.
Fehlerbehebung automatisieren: Nutze die automatischen Fehlerbehebungsfunktionen von Psalm, um Fehler schnell zu beheben.
Regelmäßige Updates: Halte Psalm auf dem neuesten Stand, um von neuen Funktionen und Fehlerbehebungen zu profitieren.
Individuelle Konfiguration: Passe die psalm.xml
-Datei an deine Projektanforderungen an, um die Analyse zu optimieren.
Häufig gestellte Fragen (FAQ)
Was ist der Unterschied zwischen Psalm und PHPStan?
Psalm und PHPStan sind beides statische Analysewerkzeuge für PHP, aber sie unterscheiden sich in ihrer Herangehensweise und Funktionalität. Psalm bietet automatische Fehlerbehebungsfunktionen und eine etwas andere Fehlererkennung. PHPStan hingegen konzentriert sich stärker auf Performance und detailliertere Analysen in bestimmten Bereichen.
Kann Psalm in bestehende Projekte integriert werden?
Ja, Psalm kann in bestehende Projekte integriert werden. Es wird empfohlen, mit einer Baseline zu beginnen, um sich auf neue Fehler zu konzentrieren und die Codebasis schrittweise zu verbessern.
Wie hilft Psalm bei der Codequalität?
Psalm hilft, die Codequalität zu verbessern, indem es Fehler frühzeitig erkennt, Typfehler aufdeckt, toten Code identifiziert und automatische Fehlerbehebungen anbietet. Dies führt zu lesbarerem, wartbarerem und robusterem Code.
Welche PHP-Versionen werden von Psalm unterstützt?
Psalm unterstützt PHP-Versionen ab 7.1. Es wird empfohlen, die neueste stabile PHP-Version zu verwenden, um die beste Kompatibilität und Leistung zu gewährleisten.
Wie kann ich Psalm in meiner IDE verwenden?
Es gibt Plugins für verschiedene IDEs wie PhpStorm und VS Code, die die Integration von Psalm erleichtern. Diese Plugins ermöglichen die Ausführung von Psalm direkt in der IDE und zeigen Fehler und Warnungen in Echtzeit an.
Fazit
Psalm ist ein unverzichtbares Werkzeug für PHP-Entwickler, die die Qualität ihres Codes verbessern möchten. Durch die statische Analyse, die automatischen Fehlerbehebungsfunktionen und die nahtlose Integration in CI/CD-Pipelines hilft Psalm, Fehler frühzeitig zu erkennen und zu beheben, die Wartbarkeit zu erhöhen und die Zusammenarbeit im Team zu verbessern. Es ermöglicht eine schnellere Markteinführung, reduziert Fehler und sorgt für eine konsistente Umgebung über alle Phasen des Softwareentwicklungszyklus.
Weiterführende Ressourcen
Offizielle Psalm Dokumentation: psalm.dev
Psalm auf GitHub: github.com/vimeo/psalm

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.