Menu
Coddy logo textTech

Callback-Funktionen

Teil des Abschnitts Logik & Ablauf der PHP-Journey von Coddy — Lektion 4 von 68.

Eine Callback-Funktion ist eine Funktion, die als Argument an eine andere Funktion übergeben wird. Anstatt die Funktion sofort aufzurufen, übergeben Sie ihren Namen, damit die empfangende Funktion sie später bei Bedarf aufrufen kann.

Um eine Funktion als Callback zu übergeben, verwenden Sie einfach den Namen der Funktion als String:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

function processUser($username, $callback) {
    // Etwas Verarbeitung durchführen...
    $callback($username);  // Die Callback-Funktion aufrufen
}

processUser("Alice", "greet");  // Ausgabe: Hello, Alice!
?>

In diesem Beispiel wird "greet" als Callback an processUser() übergeben. Die processUser()-Funktion ruft dann den Callback auf, indem sie den String als Funktionsnamen verwendet.

Callbacks sind unglaublich nützlich, da sie Ihre Funktionen flexibler machen. Dieselbe Funktion kann verschiedene Aktionen ausführen, je nachdem, welchen Callback Sie ihr übergeben. Dieses Konzept ist grundlegend für viele der integrierten Funktionen von PHP wie array_map() und array_filter(), denen Sie später in diesem Kurs begegnen werden.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

challenge icon

Aufgabe

Einfach

Erstellen Sie zwei Funktionen: eine namens formatUppercase, die einen String entgegennimmt und ihn in Großbuchstaben zurückgibt, und eine weitere namens formatLowercase, die einen String entgegennimmt und ihn in Kleinbuchstaben zurückgibt.

Erstellen Sie dann eine Funktion namens applyFormat, die zwei Parameter akzeptiert: einen Text-String und einen Namen einer Callback-Funktion. Diese Funktion soll den Callback auf den Text anwenden und das Ergebnis zurückgeben.

Sie erhalten zwei Eingaben: den Operationstyp ("upper" oder "lower") und den zu formatierenden Text. Lesen Sie beide Eingaben ein, bestimmen Sie basierend auf dem Operationstyp, welcher Callback verwendet werden soll, rufen Sie applyFormat mit dem entsprechenden Callback auf und geben Sie das formatierte Ergebnis aus.

Eingabeformat: Zwei Zeilen - die erste Zeile enthält den Operationstyp ("upper" oder "lower"), die zweite Zeile enthält den zu formatierenden Text

Erwartete Ausgabe: Der formatierte Text basierend auf dem Operationstyp

Spickzettel

Eine Callback-Funktion ist eine Funktion, die als Argument an eine andere Funktion übergeben wird. Anstatt die Funktion sofort aufzurufen, übergeben Sie ihren Namen, damit die empfangende Funktion sie später bei Bedarf aufrufen kann.

Um eine Funktion als Callback zu übergeben, verwenden Sie den Namen der Funktion als String:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

function processUser($username, $callback) {
    // Etwas Verarbeitung durchführen...
    $callback($username);  // Die Callback-Funktion aufrufen
}

processUser("Alice", "greet");  // Ausgabe: Hello, Alice!
?>

Callbacks machen Funktionen flexibler, indem sie verschiedene Aktionen ermöglichen, je nachdem, welcher Callback an sie übergeben wird.

Probier es selbst

<?php
// Eingabe lesen
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));

// TODO: Schreiben Sie Ihren Code unten
// Funktion formatUppercase erstellen
// Funktion formatLowercase erstellen
// Funktion applyFormat erstellen
// Bestimmen, welcher Callback basierend auf dem Operationstyp verwendet werden soll
// applyFormat mit dem entsprechenden Callback aufrufen

// Ergebnis ausgeben
echo $result;
?>
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf