MWCodebymw.de ↗
code ~

Code, den du sofort einsetzen kannst

Praktische Code-Snippets aus meiner täglichen Arbeit — kopieren, verstehen, einsetzen.

php_str_contains_start.phpPHP
Einsteiger

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.

27. Juli 2026 · 30 Aufrufe · · KIMit Hilfe von KI generiert
php_eigene_exceptions_.phpPHP
Fortgeschritten

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.

27. Juli 2026 · 28 Aufrufe · · KIMit Hilfe von KI generiert
php_usort_spaceship_so.phpPHP
Einsteiger

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.

27. Juli 2026 · 30 Aufrufe · · KIMit Hilfe von KI generiert
php_readonly_construct.phpPHP
Einsteiger

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.

27. Juli 2026 · 27 Aufrufe · · KIMit Hilfe von KI generiert
php_generatoren_yield_.phpPHP
Fortgeschritten

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.

27. Juli 2026 · 24 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_modalbottomshee.ktKotlin
Fortgeschritten

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.

27. Juli 2026 · 31 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_compositionloca.ktKotlin
Fortgeschritten

CompositionLocal – Werte durch den Compose-Baum reichen, ohne sie durchzuschleifen

Wenn ein Wert durch acht Composables durchgereicht wird, nur damit ihn das neunte benutzen kann, ist etwas schief. CompositionLocal löst das – aber nur für eine sehr bestimmte Sorte von Werten.

27. Juli 2026 · 29 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_flow_catch_retr.ktKotlin
Fortgeschritten

Fehler in Flows abfangen – catch, retry und ein sinnvoller Fallback

Ein try/catch um einen Flow herum fängt nichts. Fehler laufen im Flow selbst mit und werden dort behandelt – mit catch für die Ausgabe und retry für den zweiten Versuch bei Netzproblemen.

27. Juli 2026 · 30 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_workmanager_hin.ktKotlin
Fortgeschritten

WorkManager – Arbeit, die auch läuft, wenn die App zu ist

Daten hochladen, nachts synchronisieren, eine Erinnerung schicken: Sobald etwas laufen soll, während die App geschlossen ist, ist WorkManager das richtige Werkzeug – und nicht ein Thread, den das System sowieso abräumt.

27. Juli 2026 · 31 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_activity_result.ktKotlin
Fortgeschritten

Berechtigungen und Foto-Auswahl in Compose – rememberLauncherForActivityResult

Kamera-Erlaubnis abfragen, ein Bild aus der Galerie holen, ein Dokument öffnen: Dafür gibt es in Compose genau einen Weg, und er ist erfreulich kurz. onActivityResult und startActivityForResult brauchst du nie wieder.

27. Juli 2026 · 29 Aufrufe · · KIMit Hilfe von KI generiert
sql_exists_vs_in.sqlSQL
Fortgeschritten

EXISTS statt IN – Unterabfragen, die auch mit NULL richtig rechnen

"Zeig mir alle Kunden, die schon mal bestellt haben" – dafür greifen die meisten zu IN (SELECT …). Das funktioniert, bis eine einzige NULL in der Unterabfrage steht: dann liefert NOT IN plötzlich gar nichts mehr. EXISTS hat dieses Problem nicht.

27. Juli 2026 · 26 Aufrufe · · KIMit Hilfe von KI generiert
kotlin_compose_remembe.ktKotlin
Fortgeschritten

rememberUpdatedState in Compose – wenn dein Callback im Effekt einfriert

Ein LaunchedEffect mit key1 = Unit startet genau einmal – und hält damit für immer die Lambda-Referenz vom ersten Durchlauf fest. Klickt der Nutzer später etwas anderes an, passiert das Falsche. rememberUpdatedState löst genau das.

26. Juli 2026 · 33 Aufrufe · · KIMit Hilfe von KI generiert
← NeuereSeite 7 / 16Ältere →