Code, den du sofort einsetzen kannst
Praktische Code-Snippets aus meiner täglichen Arbeit — kopieren, verstehen, einsetzen.
grid-template-areas – ein Layout, das man im Code sehen kann
Statt Zeilen- und Spaltennummern zu zählen, malst du dein Layout als kleine ASCII-Zeichnung ins CSS. Auf dem Handy schreibst du die Zeichnung einfach anders – dieselben Bausteine, andere Anordnung, kein einziger geänderter HTML-Knoten.
requestAnimationFrame – die Animationsschleife, die zum Bildschirm passt
setInterval(schritt, 16) läuft auf einem 144-Hz-Monitor anders als auf einem alten Handy – und im Hintergrundtab einfach weiter. requestAnimationFrame löst beides, wenn man die verstrichene Zeit mitrechnet statt Bilder zu zählen.
Set und Map in JavaScript – doppelte Einträge loswerden und richtig zählen
Ein Objekt als Nachschlagetabelle geht – bis der Schlüssel eine Zahl ist, oder ein Objekt, oder zufällig "constructor" heißt. Set und Map machen genau das, wofür man Objekte bisher zweckentfremdet hat, nur ohne die Überraschungen.
ResizeObserver – auf die Größe eines Elements reagieren, nicht auf die des Fensters
window.onresize feuert nur, wenn sich das Fenster ändert – nicht, wenn eine Seitenleiste aufklappt oder Text nachlädt. ResizeObserver meldet dir die Größe des Elements selbst, und zwar ohne Endlosschleife.
In die Zwischenablage kopieren mit der Clipboard API
Ein Kopieren-Button ist eine Kleinigkeit, die Nutzer sofort bemerken – Rechnungsnummer, Gutscheincode, Link. document.execCommand ist dafür veraltet; navigator.clipboard ist der heutige Weg, braucht aber HTTPS und eine echte Nutzergeste.
localStorage richtig benutzen – JSON, Ausfallsicherheit und der volle Speicher
localStorage speichert nur Text, wirft im privaten Modus Fehler und ist irgendwann voll. Drei Zeilen Absicherung reichen, damit deine Seite deswegen nicht weiß bleibt.
str_contains, str_starts_with, str_ends_with – Schluss mit strpos !== false
Enthält dieser Text das Wort? Fängt die Datei mit https an? Das ging jahrelang nur über strpos und einen Vergleich, den man leicht falsch schreibt. Seit PHP 8 gibt es drei Funktionen, die genau das sagen, was sie tun.
Eigene Exceptions in PHP – Fehler, die man auseinanderhalten kann
catch (Exception $e) fängt alles – auch das, was du gar nicht behandeln wolltest. Mit ein paar eigenen Exception-Klassen wird aus „irgendwas ging schief" eine Fehlermeldung, mit der der Nutzer etwas anfangen kann.
Arrays sortieren in PHP – usort und der Spaceship-Operator
Eine Liste nach Datum, dann nach Name, absteigend – ohne Bibliothek und ohne if-Kaskade. usort plus <=> macht daraus zwei Zeilen, die man auch in einem halben Jahr noch versteht.
readonly und Constructor Promotion – Wertobjekte in PHP ohne Boilerplate
Früher waren das dreißig Zeilen: Eigenschaften deklarieren, Konstruktor schreiben, alles zuweisen, Getter dazu. Seit PHP 8.1 ist derselbe unveränderliche Wertetyp eine einzige Zeile – und niemand kann ihn nachträglich kaputt machen.
Generatoren in PHP – eine 2-GB-Datei lesen, ohne den Speicher zu sprengen
file() lädt die ganze Datei in ein Array – bei großen Dateien ist danach der Speicher voll und das Skript tot. Mit yield gibst du Zeile für Zeile heraus und brauchst konstant wenig Speicher, egal wie groß die Datei ist.
ModalBottomSheet in Material 3 – das Blatt, das von unten hereinfährt
Ein Menü, eine Detailansicht, eine Auswahl – auf dem Handy kommt so etwas von unten. Material 3 bringt das fertig mit, inklusive Wischgeste und Verdunkelung. Man muss nur wissen, wie man es richtig schließt.