PHP: Anleitungen und Praxiswissen | Seite 18 | mironsoft Blog
PHP
-
23.04.2025
Wer Performance-Probleme in PHP-Anwendungen nur über Bauchgefühl und Stichproben in der Produktion sucht, verschwendet Zeit an den falschen Stellen. Blackfire und XHProf liefern belastbare Callgraphs, getrennte Exclusive- und Inclusive-Zeiten sowie eigenständige Wall-Time-, CPU-Time- und I/O-Wait-Metriken, mit denen sich echte Engpässe klar von harmlosen Symptomen unterscheiden lassen, egal ob im Monolithen, im Microservice oder im CLI-Skript.
-
22.04.2025
Ein gewachsener PHP-Monolith laesst sich selten in einem grossen Sprung ersetzen. Legacy PHP Code laesst sich aber sehr wohl kontrolliert modernisieren, wenn man Seams identifiziert, Charakterisierungstests schreibt und den alten Code Stueck fuer Stueck mit dem Strangler Fig Pattern umschliesst, statt ihn in einem riskanten Rewrite komplett zu ersetzen.
-
19.04.2025
Ein Netzwerkfehler nach erfolgreicher Zahlung führt ohne Schutzmaßnahme dazu, dass der Client denselben Request wiederholt und eine zweite Zahlung auslöst. Dieser Artikel zeigt, wie Idempotenz-Schlüssel in PHP-APIs implementiert werden, um genau dieses Problem zuverlässig zu verhindern, inklusive Request-Fingerprint, Antwort-Cache und Schutz vor Race Conditions.
-
18.04.2025
Wer heute noch produktiv mit PHP 7.4 arbeitet, betreibt eine Version ohne Sicherheitsupdates auf einem Stand, den kaum ein modernes Composer-Paket noch unterstützt. Die Migration von PHP 7 auf PHP 8 ist technisch überschaubar, wenn man Typsystem-Änderungen, entfernte Funktionen und String-Vergleiche kennt, und mit PHPStan sowie Rector systematisch statt improvisiert vorgeht.
-
16.04.2025
Wer in GraphQL-Resolvern direkt aus der Datenbank lädt, produziert bei verschachtelten Feldern schnell Hunderte Einzelqueries pro Request. Das DataLoader Pattern sammelt diese Ladeanfragen innerhalb eines Tick, führt sie gebündelt aus und cached die Ergebnisse pro Request, ohne dass Resolver ihre einfache, isolierte Struktur verlieren.
-
16.04.2025
PHP wurde ursprünglich als Templating-Sprache erfunden, lange bevor es zur allgemeinen Programmiersprache wurde, die es heute ist. Genau das macht reines PHP-Templating gefährlich unkontrolliert, weil weder Sandboxing noch automatisches Escaping eingebaut sind. Wir bauen eine minimale eigene Engine mit Variablen-Interpolation und Auto-Escaping und zeigen dabei, welche Mechanik unter der Oberfläche von Twig tatsächlich steckt.
-
14.04.2025
Der automatische Property-für-Property-Vergleich von assertEquals() scheitert bei Wertobjekten mit eigener fachlicher Gleichheitsdefinition. assertObjectEquals() und eigene Comparator-Klassen lösen dieses Problem, indem sie die tatsächliche Vergleichslogik der Klasse selbst nutzen.
-
13.04.2025
"Segmentation fault (core dumped)" im Log ist für viele Teams das Ende der Diagnose statt der Anfang. Dabei liefert ein korrekt aktivierter Core Dump zusammen mit gdb und coredumpctl fast immer einen vollständigen Backtrace bis zur exakten Codezeile. Dieser Leitfaden zeigt, wie man Core Dumps unter Linux richtig konfiguriert, Backtraces liest und typische Ursachen wie fehlerhafte PHP-Extensions systematisch eingrenzt.
-
11.04.2025
Hot Reload in Containern verhält sich anders als auf dem nackten Host, weil Bind Mounts, Dateisystem-Events und OPcache-Validierung zusätzliche Schichten zwischen Editor und laufendem Prozess einziehen. Wer diese Schichten versteht, bekommt PHP- und Node-Änderungen genauso schnell sichtbar wie ohne Container, ohne bei jeder Codeänderung neu zu bauen.
-
09.04.2025
PhpStorm bringt mit AI Assistant und Junie zwei unterschiedlich weit gehende KI-Werkzeuge mit: eines, das im Editor assistiert, und eines, das Aufgaben eigenständig übernimmt. Wer beide für Code-Reviews und Refactoring-Vorschläge einsetzen will, sollte ihre Grenzen bei Kontext-Umfang und Code-Vertraulichkeit kennen, bevor produktiver PHP-Code hindurchgereicht wird.