Asynchrones Datenladen ist in fast jedem interaktiven Widget nötig. Alpine.js macht es mit async/await und x-data erstaunlich einfach – aber erst mit sauber durchdachter Fehlerbehandlung, Ladezuständen und Abort-Logik wird ein Fetch-Widget produktionstauglich.
Ohne saubere Fixtures sind Integrationstests fragil: Tests erzeugen Testdaten, die den nächsten Test beeinflussen, Rollbacks schlagen fehl und das Fixture-Skript ist an einem anderen Pfad als erwartet. Das Magento Test Framework bietet ein ausgefeiltes Fixture-System – vorausgesetzt, man versteht die Mechanismen dahinter.
SearchCriteria-Abfragen, Collection-Filter und EAV-Attribute sind die drei häufigsten Datenzugriffsmuster in Magento – und gleichzeitig die drei häufigsten Stellen, an denen Tests entweder fehlen oder falsch strukturiert sind. Dieser Artikel zeigt, welcher Testtyp für welchen Zugriff geeignet ist und wie man jeden korrekt absichert.
PHPStorm kennt drei Interpreter-Typen: lokal, Docker/Docker Compose und SSH. Die Wahl hat direkte Auswirkungen auf Autocomplete-Qualität, Xdebug-Zuverlässigkeit und den Overhead beim Starten von Run Configurations. Dieser Artikel erklärt die Unterschiede und zeigt, wann welches Setup wirklich besser ist.
Magento-Unit-Tests ohne Bootstrap laufen in Sekunden statt in Minuten. Aber nicht jede Magento-Klasse lässt sich sinnvoll ohne Framework-Initialisierung testen. ViewModels, reine Service Classes, Plugins auf einfache Daten-Transformationen und Preisberechnungslogik sind ideal. Block-Rendering, Layout-Verarbeitung und Observer-Ketten hingegen brauchen den Bootstrap – und das ist kein Versagen des Tests.
Wer Tests und CLI-Befehle immer nur im Terminal ausführt, verliert wertvolle Sekunden bei jedem Zyklus. Run Configurations in PhpStorm machen aus dem grünen Play-Button ein echtes Werkzeug – mit Docker-Interpreter, Xdebug-Integration und Compound-Runs für komplexe Abläufe.
Normales Find/Replace und Regex-Suche sind blind für PHP-Semantik. Structural Search and Replace versteht den Abstract Syntax Tree – und ersetzt exakt das, was der Code strukturell bedeutet, nicht was er buchstäblich enthält. Das Ergebnis: sichere, semantisch korrekte Massenänderungen ohne Fehlalarme.