
Inhaltsverzeichnis
Einleitung Shopware Extension Verifier
Der Extension Verifier ist ein leistungsstarkes Tool von Shopware, das speziell für die Analyse, Formatierung und Refaktorisierung von Erweiterungen (Plugins/Apps) entwickelt wurde. Es kombiniert mehrere bekannte Werkzeuge wie ESLint, PHPStan, Rector, Stylelint und PHP-CS-Fixer, um eine umfassende Prüfung und Optimierung von Code zu ermöglichen. Der Extension Verifier ist besonders nützlich, um sicherzustellen, dass Erweiterungen den Shopware-Standards entsprechen und mit verschiedenen Versionen kompatibel sind.
Installation und Einrichtung
Voraussetzungen
Docker: Der Extension Verifier wird ausschließlich als Docker-Image bereitgestellt.
GitHub Actions (optional): Für automatisierte Prüfungen in CI/CD-Pipelines.
Installation
Docker-Befehl zur Nutzung des Tools:
docker run --rm ghcr.io/shopwarelabs/extension-verifier:latest
Hinweis: Der Tag latest
verweist immer auf die neueste Version. Es wird empfohlen, eine spezifische Version zu verwenden, um Konsistenz zu gewährleisten.
Integration in GitHub Actions:
jobs:
check:
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
version-selection: [ 'lowest', 'highest' ]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check extension
uses: shopware/github-actions/extension-verifier@main
with:
action: check
check-against: ${{ matrix.version-selection }}
Hauptfunktionen
Codeprüfung: Analysiert den Code auf Kompatibilität mit Shopware-Versionen und Coding-Standards.
Formatierung: Automatische Anwendung der Shopware-Coding-Standards mit PHP-CS-Fixer.
Refaktorisierung: Vorschläge zur Verbesserung des Codes durch Rector und ESLint.
Berichtserstellung: Unterstützung verschiedener Ausgabeformate wie JSON, JUnit oder Markdown.
Projektweite Scans: Möglichkeit, ganze Projekte anstelle einzelner Erweiterungen zu prüfen.
Vorteile von Shopware Extension Verifier
Zeitersparnis: Automatisierte Prüfungen reduzieren den manuellen Aufwand erheblich.
Fehlerreduktion: Frühzeitige Erkennung von Problemen minimiert das Risiko von Laufzeitfehlern.
Konsistenz: Sicherstellung einheitlicher Coding-Standards in allen Erweiterungen.
Flexibilität: Anpassbare Konfigurationen für spezifische Projektanforderungen.
Verwendung des Extension Verifiers
Codeprüfung
Prüfen Sie die Kompatibilität Ihrer Erweiterung mit verschiedenen Shopware-Versionen:
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against lowest
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against highest
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against lowest
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against highest
Formatierung
Formatieren Sie den Code gemäß den Shopware-Coding-Standards:
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest format /ext
Für einen Testlauf ohne Änderungen verwenden Sie den Dry-Run-Modus:
bash
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest format /ext --dry-run
Refaktorisierung
Refaktorieren Sie Ihren Code automatisch mit Rector und ESLint:
docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest fix /ext
Warnung: Erstellen Sie vor der Ausführung ein Backup Ihrer Dateien, da Änderungen vorgenommen werden.
Integration in CI/CD-Pipelines
Der Extension Verifier kann nahtlos in CI/CD-Pipelines integriert werden, um die Qualitätssicherung zu automatisieren. Hier ein Beispiel für GitLab CI:
text
stages:
- analyze
extension_verifier:
stage: analyze
image: ghcr.io/shopwarelabs/extension-verifier:latest
script:
- docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against lowest
- docker run --rm -v $(pwd):/ext ghcr.io/shopwarelabs/extension-verifier:latest check /ext --check-against highest
Tools sind im Extension Verifier
Der Extension Verifier umfasst die folgenden Werkzeuge:
ESLint (JavaScript-Linting)
PHPStan (PHP-Codeanalyse)
Rector (PHP-Codeverbesserung)
Stylelint (CSS-Linting)
PHP-CS-Fixer (PHP-Codeformatierung)
Tipp: Wiel lassen sich Fehler ignorien?
Erstellen Sie eine .shopware-extension.yaml
im Stammverzeichnis Ihrer Erweiterung:
validation:
ignore:
- identifier: 'Shopware.SomeError'
- message: 'Specific error message'
path: 'path/to/file.php'

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)
Kann ich ganze Projekte scannen?
Ja, geben Sie einfach den Pfad zum Projektstamm anstelle des Erweiterungspfads an. Konfigurationsdateien wie phpstan.neon oder .php-cs-fixer.dist.php sollten im Projektstamm platziert werden.
Was passiert bei fehlenden Abhängigkeiten?
Wenn Ihre Erweiterung Klassen aus shopware/storefront oder shopware/elasticsearch verwendet, müssen diese in der composer.json unter require oder require-dev hinzugefügt werden.
Fazit
Der Extension Verifier ist ein unverzichtbares Werkzeug für Entwickler, die qualitativ hochwertige Shopware-Erweiterungen erstellen möchten. Durch die Kombination leistungsstarker Analysewerkzeuge bietet er eine umfassende Lösung zur Verbesserung der Codequalität, Einhaltung von Standards und Sicherstellung der Kompatibilität mit verschiedenen Shopware-Versionen. Mit seiner einfachen Integration in CI/CD-Pipelines ermöglicht er eine effiziente und automatisierte Qualitätssicherung.
Weiterführende Ressourcen
Offizielle Dokumentation zum Extension Verifier
developer.shopware.com/docs/resources/tooling/extension-verifier.html
Shopware CLI für Validierungen
developer.shopware.com/docs/products/cli/extension-commands/validation.html
Shopware Troubleshooting Guide
firebearstudio.com/blog/shopware-6-troubleshooting-guide.html
GitHub Repository für Shopware Tools
github.com/shopware/github-actions
Shopware Community Forum
forum.shopware.com