- Erstellt:
- Aktualisiert:
- Autor:
- Roland Golla
NCA - PHP Glossar
Willkommen im Never Code Alone Glossar! Hier finden Sie alle relevanten Informationen zu Tools die wir für das PHP-Testing oder die statische Code Analyse benutzen.
Mit einem Mausklick auf den gewählten Glossar-Eintrag gelangen Sie auf die zugehörige Unterseite.
Was ist das NCA PHP Glossar?
Das NCA PHP Glossar ist die umfassende Referenz für PHP-Entwickler, die ihre Code-Qualität mit statischer Codeanalyse, automatisierten Tests und modernen Entwicklungstools verbessern wollen. Von PHPStan über Rector bis zu PHPUnit – hier findet ihr Erklärungen, Best Practices und Entscheidungshilfen für den Einsatz der wichtigsten PHP-Tools 2026.
Statische Codeanalyse ist heute ein unverzichtbarer Bestandteil professioneller PHP-Entwicklung. Tools wie PHPStan oder Psalm finden Typfehler, ungenutzte Variablen und potenzielle Bugs bereits vor dem ersten Testlauf – ohne den Code auszuführen. Rector PHP geht einen Schritt weiter und migriert Legacy-Code automatisiert auf neue PHP-Versionen und aktuelle Best Practices.
Das Glossar deckt fünf Themenbereiche ab:
- Statische Codeanalyse: PHPStan, Psalm, Phan, PHP Mess Detector, PHP CodeSniffer
- Automatisiertes Refactoring: Rector, PHP CS Fixer, Easy Coding Standard
- Testing-Frameworks: PHPUnit, PEST, PHPSpec, Codeception, Infection Framework
- Architektur-Tools: Deptrac, PHP Arkitect, DePHPend, PHP Architecture Tester
- Dev-Tooling: DDEV, Docker, Xdebug, PHPStorm, DataGrip
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.
Statische Codeanalyse: PHPStan, Psalm und Co.
Statische Codeanalyse prüft PHP-Code auf Fehler, ohne ihn auszuführen. Der Marktführer PHPStan arbeitet mit Level-0-bis-9-System: je höher das Level, desto strenger die Prüfung. In modernen PHP-Projekten ist Level 8 oder 9 der Standard. Psalm von Vimeo verfolgt einen ähnlichen Ansatz mit starkem Fokus auf Typsicherheit und bietet zusätzliche Sicherheitsanalysen.
Spezialisierte Analyse-Tools im Überblick:
- PHPStan – Statische Analyse, Level 0-9, breites Plugin-Ökosystem
- Psalm – Typsicherheit und Sicherheitsanalyse von Vimeo
- Phan – Googles Analyse-Tool, langsamer aber gründlicher
- PHP Mess Detector (PHPMD) – Code-Komplexität und Anti-Pattern-Erkennung
- PHPStan Bodyscan – Schnelle Fehlerübersicht ohne Konfiguration
- Type Coverage – Misst den Prozentsatz typisierter Properties und Parameter
Für Teams, die mit Symfony arbeiten, ist Larastan das Laravel-Pendant zu PHPStan – es versteht Eloquent-Magie und Facades nativ. Für Symfony-Projekte bietet PHPStan zahlreiche offizielle Extensions. NCA hilft beim Aufsetzen der Analyse-Pipeline als Teil des Vibe Coding Consultings.
PHP Testing: PHPUnit, PEST und Mutation Testing
PHPUnit ist das meistgenutzte Testing-Framework der PHP-Welt und der De-facto-Standard für Unit-Tests. PHPUnit 11 (2024) brachte wichtige Änderungen im Attribut-System und bei den Test-Doubles. PEST ist eine modernere Alternative mit expressiver API, die auf PHPUnit aufbaut – ideal für Teams, die sauberere Test-Syntax bevorzugen.
Mutation Testing mit dem Infection Framework geht über klassische Code-Coverage hinaus: Es verändert den Source-Code gezielt (mutiert ihn) und prüft, ob die bestehenden Tests diese Änderung erkennen. Hohe Mutation-Coverage bedeutet robustere Tests. Paratest beschleunigt PHPUnit-Testsuites durch parallele Ausführung.
Testing-Frameworks und -Tools:
- PHPUnit – Unit- und Integrationstests, der Standard
- PEST – Moderne PHPUnit-Alternative mit sauberer Syntax
- PHPSpec – BDD-Framework, Specification by Example
- Infection Framework – Mutation Testing für robustere Tests
- BackstopJS – Visuelle Regressionstests fuer UI-Stabilität
- Symfony HttpClient MockResponse – HTTP-Mocking in PHPUnit-Tests
Automatisiertes Refactoring mit Rector und PHP CS Fixer
Rector PHP ist das mächtigste Werkzeug für automatisiertes Refactoring und PHP-Versionsmigrationen. Es analysiert den AST (Abstract Syntax Tree) des Codes und transformiert ihn nach konfigurierbaren Regeln – von PHP 7.4 auf 8.2 in einem Durchlauf. Rector findet inzwischen auch in KI-gestützten Vibe-Coding-Workflows Einsatz, wo er als automatischer Aufräumer nach AI-generierten Code-Patches läuft.
PHP Coding Standards Fixer (PHP-CS-Fixer) und PHP CodeSniffer erzwingen konsistente Code-Formatierung nach PSR-Standards oder eigenen Regeln. Die Easy Coding Standard (ECS) kombiniert beide Tools in einer einheitlichen Konfiguration. GrumPHP macht die Ausführung aller Qualitäts-Tools zum Pre-Commit-Hook.
Häufige Fragen zu PHP Testing und Codeanalyse
Die wichtigsten Fragen zu PHPStan, Rector, PHPUnit und den Tools für professionelle PHP-Entwicklung 2026.
Was ist PHPStan und wie funktioniert es 2026?
PHPStan ist ein statisches Analyse-Tool für PHP, das ohne Codeausführung nach Fehlern sucht. Es prüft Typkorrektheit, nicht vorhandene Methoden, falsche Parameter und weitere Probleme in 10 Leveln (0-9). Ab Level 8 wird strenge Typsicherheit gefordert. In modernen Symfony- und Laravel-Projekten ist PHPStan heute Standard in der CI/CD-Pipeline.
Was ist der Unterschied zwischen PHPStan und Psalm 2026?
PHPStan ist bekannter und hat ein größeres Plugin-Ökosystem, Psalm bietet tiefere Typsicherheitsanalyse und Sicherheitsscans. Beide Tools ergänzen sich gut: Teams nutzen oft PHPStan für den Alltag und Psalm für spezifische Sicherheitsanalysen. PHPStan hat seit 2023 auch stark in Typerkennung investiert, sodass der Unterschied kleiner geworden ist.
Welche PHP-Version unterstützt Rector 2026?
Rector unterstützt Migrationen von PHP 7.1 aufwärts bis PHP 8.4 (aktuell). Es kann PHP-Versionsmigrationen automatisiert durchführen, Symfony-Upgrades begleiten und Dead-Code entfernen. Rector 2.0 (2024) hat die Konfiguration vereinfacht und die Performance verbessert. Für Legacy-Projekte mit PHP 5.x empfiehlt NCA eine manuelle Vorprüfung.
Wie richte ich PHPUnit 2026 in einem Symfony-Projekt ein?
Symfony bringt mit symfony/test-pack PHPUnit bereits vorkonfiguriert mit. Nach dem Installieren über Composer erzeugt php bin/phpunit einen ersten Testlauf. Für HTTP-Tests stellt das HttpClient-Component MockResponse bereit. NCA empfiehlt separate Test-Suites fuer Unit-, Integration- und Funktionstests mit klarer Trennung.
Was ist Mutation Testing und lohnt es sich 2026?
Mutation Testing verändert den Source-Code gezielt (z.B. + zu -, true zu false) und prüft, ob Tests diese Mutationen erkennen. Ein Mutation-Score von 80%+ gilt als gut. Der Infection Framework ist das Standard-Tool in PHP. Lohnt sich für kritische Business-Logik, erhöht jedoch die CI-Laufzeit erheblich – daher selektiv einsetzen.
Was macht GrumPHP und wie ist es konfiguriert?
GrumPHP hängt sich als Git Pre-Commit-Hook in den Entwicklungsworkflow ein und führt automatisch Quality-Gates aus, bevor Code committet werden kann. Konfigurierbar über grumphp.yml: PHPStan, PHP-CS-Fixer, PHPUnit und weitere Tools lassen sich als Tasks definieren. Scheitert ein Task, wird der Commit blockiert.
Welche Tools prüfen die PHP-Architektur?
Deptrac prüft Abhängigkeiten zwischen Schichten nach konfigurierten Regeln. PHP Arkitect definiert Architekturregeln in PHP selbst (kein YAML). DePHPend visualisiert Abhängigkeitsgraphen. Der PHP Architecture Tester (phpat) erlaubt expressive Architektur-Assertions in Tests. NCA setzt diese Tools bei Symfony-Refactoring-Projekten standardmaessig ein.
Was ist der Unterschied zwischen PEST und PHPUnit?
PEST baut auf PHPUnit auf und bietet eine expressivere, an JavaScript-Testing-Frameworks angelehnte Syntax. Statt Klassen und Methoden werden Closures genutzt: it('does something', fn() => ...). PHPUnit ist der Standard und hat mehr Dokumentation. PEST eignet sich besonders für Teams, die einen moderneren Look bevorzugen – unter der Haube läuft aber PHPUnit.
Wie schnell ist Paratest im Vergleich zu PHPUnit?
Paratest verteilt PHPUnit-Tests auf mehrere CPU-Kerne und kann die Testlaufzeit je nach Testsuite und Hardware um 30-70% reduzieren. Bei einer Testsuite mit 500+ Tests und separaten Datenbankverbindungen pro Prozess kann der Unterschied erheblich sein. Voraussetzung ist eine test-safe Datenbankstrategie, die parallele Zugriffe unterstützt.
Wann sollte ich DDEV statt Docker direkt nutzen?
DDEV ist ein Wrapper um Docker, der lokale PHP-Entwicklungsumgebungen mit wenigen Befehlen aufsetzt. Es konfiguriert automatisch PHP-Version, Datenbankserver, phpMyAdmin und Mailhog. Docker direkt gibt mehr Kontrolle, erfordert aber mehr Konfigurationsaufwand. Fur Symfony- und TYPO3-Projekte ist DDEV die empfohlene lokale Entwicklungsumgebung.
Was bedeutet Type Coverage in PHP?
Type Coverage misst, wie viel Prozent der Properties, Parameter und Rückgabewerte typisiert sind. Das Tool type-coverage von TomasVotruba gibt einen Prozentwert aus. Ziel: 100% Type Coverage in Kombination mit PHPStan Level 8 eliminiert eine große Klasse von Laufzeitfehlern. NCA setzt Type Coverage als Metrik in CI-Pipelines ein.
Welche Tools helfen beim Symfony-Update auf neue Versionen?
Rector mit dem symfony/rector-extension automatisiert viele Symfony-Breaking-Changes. Der Config Transformer konvertiert XML/YAML-Konfiguration in PHP. TYPO3 Rector erledigt dasselbe für TYPO3. Ergaenzend hilft der Composer Dependency Analyser, veraltete oder konflikthafte Abhängigkeiten zu identifizieren, bevor das Update beginnt.