Archive: 2025-04 | Seite 19
Archive: April 2025
-
06.04.2025
Wer in Unit-Tests wahllos alles mockt, was mit einer Klasse zusammenhängt, baut Tests, die bei jedem Refactoring brechen, ohne dass sich am Verhalten der Anwendung etwas geändert hat. Die Taxonomie nach Gerard Meszaros unterscheidet Dummy, Stub, Fake, Spy und Mock als fünf klar abgegrenzte Rollen mit unterschiedlichem Zweck, unterschiedlicher Prüflogik und unterschiedlichem Kopplungsgrad an Implementierungsdetails. Dieser Beitrag zeigt die Theorie hinter jedem Test Double anhand handgeschriebener PHP-Implementierungen, unabhängig von einem bestimmten Test-Framework.
-
06.04.2025
Eine Komponente, die gleichzeitig Logik verwaltet und HTML rendert, lässt sich kaum wiederverwenden. Renderless Components und Headless Patterns in Vue.js lösen dieses Problem: Die Logik lebt in einem Composable oder einer renderless Komponente, die Darstellung übernimmt der Konsument vollständig per Scoped Slot oder Template.
-
06.04.2025
Ein Skript als POSIX konform zu bezeichnen ist schnell behauptet und selten geprueft. Diese Checkliste liefert konkrete Schritte, Werkzeuge und eine Testmatrix, um ein bestehendes Skript systematisch gegen Dash, BusyBox ash und andere schlanke Shells abzusichern.
-
05.04.2025
GROUP BY ist mehr als nur Gruppieren. Wer die Semantik, ONLY_FULL_GROUP_BY, den Unterschied zwischen WHERE und HAVING sowie die Fan-out-Falle nicht kennt, baut Queries die falsche Zahlen liefern.
-
05.04.2025
Ein Magento 2 Store Switcher wirkt im Frontend wie ein simples Dropdown, verbirgt dahinter aber eine Redirect-Logik, die entscheidet, ob ein Kunde beim Sprachwechsel auf derselben Produktseite landet oder unerwartet zur Startseite springt. Wer den Store Switcher in Hyvä mit Alpine.js sauber anpasst, erhält Seitenkontext, respektiert Cookie-Präferenzen und vermeidet Frust bei internationalen Besuchern.
-
05.04.2025
Prozess-Parallelisierung mit pcntl erlaubt es PHP CLI-Skripten, echte Betriebssystem-Prozesse zu erzeugen und CPU-gebundene Arbeit tatsächlich gleichzeitig auf mehreren Kernen auszuführen. Wer pcntl_fork, pcntl_wait und Signal-Handling beherrscht, baut Worker-Pools, die Warteschlangen leeren, Batch-Jobs verarbeiten und dabei sauber herunterfahren, statt Zombie-Prozesse zu hinterlassen.
-
05.04.2025
Magento 2 Währungsumrechnung wirkt auf den ersten Blick wie ein einfacher Faktor zwischen zwei Zahlen, ist in der Praxis aber ein Zusammenspiel aus Basiswährung, Kurs-Import, Rundungsregeln und Preisregeln, das pro Store unterschiedlich konfiguriert werden muss. Wer Basiswährung und Anzeigewährung verwechselt, riskiert Preisdrift bei jedem Kursupdate und Rabattregeln, die in der falschen Währung greifen.
-
05.04.2025
Die offizielle Magento-Systemanforderungsliste nennt nur Versionsnummern, doch dazwischen liegt viel Konfigurationsarbeit auf dem Linux-Server. Dieser Beitrag uebersetzt PHP-Extensions, memory_limit, OpenSearch, Redis und Varnish in konkrete Befehle und Konfigurationsdateien und liefert eine Pre-Flight-Checkliste, die Setup-Fehler vor dem ersten Deployment verhindert.
-
05.04.2025
Magento-Wartung wird in vielen Unternehmen auf das gelegentliche Einspielen von Updates reduziert, sobald eine Sicherheitswarnung auftaucht oder der Shop spürbar langsamer wird. Diese reaktive Herangehensweise funktioniert eine Weile, führt aber unweigerlich zu einem Rückstau an nicht eingespielten Sicherheitspatches, veralteten Drittanbieter-Erweiterungen und einem Update-Aufwand, der mit jedem übersprungenen Release exponentiell wächst. Ein strukturierter Ansatz für Wartung und Support behandelt Magento-Wartung stattdessen als kontinuierlichen Prozess mit klaren Verantwortlichkeiten, wiederkehrendem Testing und einem Wartungsvertrag, der genau festlegt, was im laufenden Betrieb tatsächlich abgedeckt ist.
-
04.04.2025
Constructor Property Promotion reduziert die klassische Dreifach-Wiederholung aus Property-Deklaration, Konstruktor-Parameter und Zuweisung im Body auf eine einzige Zeile pro Feld, ohne dabei Typsicherheit, Sichtbarkeit oder readonly-Garantien zu opfern, und macht gerade Value Objects und DTOs spürbar kompakter und wartbarer.