Ihr Magento 2 Code kostet Sie mehr als Sie denken

EasyAudit findet die Anti-Patterns, die jeden Request verlangsamen und jedes Upgrade erschweren. Scannen Sie über CLI, CI/CD oder direkt im Browser — und lassen Sie den Fixer Probleme automatisch beheben.

19 Analyse-Prozessoren
~455 KB Eigenständiges PHAR
< 2 min Einrichtungszeit
0 Abhängigkeiten
MIT Lizenziert

Die versteckten Kosten schlechter Patterns

Adobes eigene Dokumentation warnt vor Around Plugins und konkreten Klassenabhängigkeiten. Aber Warnungen reparieren keine Codebasen — und die Auswirkungen sind messbar.

Around Plugins: Der stille Performance-Killer

Das Interception-Framework von Magento führt ungefähr 67.000 Prüfungen pro Seitenaufruf durch. Jedes Around Plugin fügt einen $proceed()-Callback zum Stack hinzu — tiefere Traces, schwierigeres Debugging und blockierte Ketten, wenn $proceed() nie aufgerufen wird.

Auf einer einzelnen Produktseite macht die Plugin-Auflösung allein ~160ms Overhead aus. Das ist mehr Zeit als manche Plattformen für das Rendern einer ganzen Seite benötigen.

Die Lösung: Wenn ein Plugin nur Argumente ändert, sollte es ein before sein. Wenn es nur den Rückgabewert ändert, ein after. EasyAudit erkennt sie. Der Fixer schreibt sie um.

Concrete Class Injection: Upgrade-Zeitbombe

Adobe garantiert Abwärtskompatibilität nur für mit @api markierte Interfaces. Jede konkrete Klassenabhängigkeit ist eine ungeschützte Wette darauf, dass sich die Konstruktor-Signatur nicht ändert.

Zwischen Magento 2.4.6 und 2.4.7 hat sich der ProductRepository-Konstruktor geändert — was jedes Modul beschädigte, das die konkrete Klasse erweitert hatte. Als P1 Issue auf GitHub gemeldet.

Die Lösung: Konkrete Klassen durch das richtige Interface ersetzen. EasyAudit erkennt sie in Ihrer gesamten Codebasis. Der Fixer generiert die Patches.

Fehlende Proxies: Jeder Befehl zahlt den Preis

Führen Sie bin/magento cache:flush aus? Magento instanziiert zuerst jeden registrierten Befehl mit seinem vollständigen Abhängigkeitsbaum. Kein Proxy = Hunderte nutzloser Objekte bei jedem CLI-Aufruf.

Multiplizieren Sie das mit der Cron-Frequenz und der Anzahl benutzerdefinierter Befehle in Ihrem Projekt. Dieser Overhead läuft rund um die Uhr, egal ob der Befehl Ihrer ist oder nicht.

Die Lösung: Schwere Abhängigkeiten in di.xml mit Proxy versehen, damit sie nur geladen werden, wenn der Befehl tatsächlich ausgeführt wird. EasyAudit erkennt sie. Der Fixer generiert die Konfiguration.

count() auf Collections: 50.000 Objekte fĂĽr eine einzige Zahl

Der Aufruf von count($collection) löst load() aus — ein vollständiges SELECT *, das jede Zeile in ein PHP-Objekt hydratisiert, nur um sie zu zählen. Bei einem 50K-Katalog ist das ein Speicher-Peak für eine einzige Zahl.

getSize() erledigt die gleiche Aufgabe mit einem einzigen SELECT COUNT(*). Kein Laden, keine Hydratisierung, kein Speicher-Peak.

Die Lösung: count() durch getSize() ersetzen. EasyAudit findet jedes Vorkommen. Der Fixer schreibt sie um.

So funktioniert's

Wählen Sie Ihre Scan-Methode

Kostenlos
Terminal icon Terminal icon

CLI / Docker

Ein Befehl. Lokal oder in Ihrer Pipeline scannen.

Installieren
Kostenlos
Git branch icon Git branch icon

GitHub Actions

Automatische Scans bei jedem Push, Ergebnisse in Code Scanning.

Einrichten
Credits
Browser window icon Browser window icon

Web Scanner

Fügen Sie einen Packagist-Link, eine Git-Repo-URL ein oder laden Sie ein Archiv hoch. Keine Installation nötig.

Anmelden

Dann beheben, was wichtig ist

Führen Sie den Fixer für die von Ihnen gewählten Probleme aus. Erhalten Sie Standard-.patch-Dateien, die Sie prüfen und anwenden. Das war's.

Fixer Credits erhalten
Browser mockup showing the EasyAudit web scanner interface with an input field for a Packagist URL, a drag-and-drop area for archive upload, and a scan button

Keine Installation? Kein Problem.

Fügen Sie einen Packagist-Link, eine öffentliche Git-Repository-URL ein oder laden Sie ein .zip-/.tar.gz-Archiv hoch. EasyAudit scannt den Code in einem sicheren, isolierten Container und liefert denselben Bericht wie das CLI — direkt in Ihrem Browser.

Web-Scans verbrauchen Credits. Die Kosten variieren je nach Projektgröße. Kleine Module kosten nur wenige Credits; vollständige Magento-Installationen kosten mehr.

Perfekt fĂĽr:

  • Bewertung einer Drittanbieter-Erweiterung bevor Sie sie installieren
  • Schnelle PrĂĽfungen wenn Sie lokal kein Docker oder PHP haben
  • Ergebnisse mit einem Kunden teilen ohne ihn bitten zu mĂĽssen, etwas auszufĂĽhren
10 kostenlose Credits bei der Registrierung

Was EasyAudit behebt

Around → Before/After

Unnötige Around Plugins, die Before oder After sein sollten

3 Credits

Concrete Class Injection

Abhängigkeiten von Implementierungen statt von Interfaces

3 Credits

Direkte ObjectManager-Nutzung

Versteckte Abhängigkeiten, die DI und Testbarkeit beeinträchtigen

2 Credits

Fehlende Proxy-Konfiguration

Schwere Klassen, die instanziiert werden, wo ein Proxy verwendet werden sollte

1 Credit

Collection ohne Factory

Collections, die ohne das Factory-Pattern erstellt werden

1 Credit

Repository ohne Interface

Repository-Klassen, die ihren Interface-Vertrag nicht implementieren

1 Credit

Erkennung ist ĂĽber CLI und CI/CD immer kostenlos. Credits werden fĂĽr die automatische Patch-Generierung und fĂĽr webbasierte Scans verwendet. Ein Credit = ein Fix pro Datei.

Automatische Patches. Volle Kontrolle.

Der EasyAudit Fixer generiert Standard Unified-Diff-Patches für jedes Problem, das er beheben kann. Kein Code wird ohne Ihre ausdrückliche Genehmigung geändert.

So funktioniert's:

  1. FĂĽhren Sie das Audit aus (CLI oder CI/CD)
  2. Fordern Sie Fixes für die von Ihnen gewählten Probleme an
  3. ĂśberprĂĽfen Sie die generierten .patch-Dateien
  4. Anwenden mit git apply — fertig

Patches werden in Millisekunden generiert und auf Ihre Codebasis zugeschnitten. Keine generischen Vorlagen, kein Copy-Paste von Stack Overflow.

Code diff view showing a concrete class injection being replaced by an interface, with red deleted lines and green added lines

Native CI/CD-Integration

Fügen Sie EasyAudit in 5 Zeilen zu Ihrer Pipeline hinzu. Scannen Sie bei jedem Push, zeigen Sie Probleme in GitHub Code Scanning an und beheben Sie automatisch mit einem PR — alles ohne Ihren Workflow zu verlassen.

# .github/workflows/easyaudit.yml
- uses: actions/checkout@v6
- run: |
    docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest \
      scan /workspace --format=sarif --output=/workspace/report.sarif
- uses: github/codeql-action/upload-sarif@v4
  with:
    sarif_file: report.sarif
GitHub pull request showing EasyAudit Code Scanning annotations inline on changed files, highlighting a concrete class injection warning

Preise

Das CLI-Audit ist kostenlos, fĂĽr immer. Credits werden fĂĽr die automatische Patch-Generierung und Web-Scans verwendet.

Kostenlos

€0

10 Credits bei der Registrierung

Testen Sie den Fixer an einigen Dateien

Konto erstellen

Einmalig

€4.99

25 credits

Keine Verpflichtung, einmaliger Kauf

Starter

€2.99/mo

50 credits/mo

Einzelentwickler

Abonnieren
Bestes Preis-Leistungs-Verhältnis

Pro

€9.99/mo

250 credits/mo

Die meisten Projekte in einem Monat

Abonnieren

Agency

€24.99/mo

1000 credits/mo

Mehrere Kundenprojekte

Abonnieren

Ein Credit = ein automatischer Fix pro Datei. Web-Scan-Kosten variieren je nach Projektgröße. CLI/CI-Erkennung ist immer kostenlos und unbegrenzt.

In unter 2 Minuten starten

Mit Docker

docker run --rm -v $PWD:/workspace ghcr.io/crealoz/easyaudit:latest scan /workspace
Docker-Dokumentation ansehen →

Mit PHAR

php easyaudit.phar scan /path/to/magento --format=sarif
Von Releases herunterladen →

Ihre Codebasis wird nicht von alleine sauberer

Starten Sie mit einem kostenlosen Audit. Sehen Sie, was EasyAudit findet. Beheben Sie, was wichtig ist.