Menu
Coddy logo textTech

Funzioni callback

Fa parte della sezione Logica e flusso del percorso PHP di Coddy. Lezione 4 di 68.

Una funzione di callback è una funzione che viene passata come argomento a un’altra funzione. Invece di chiamare subito la funzione, ne passi il nome affinché la funzione che la riceve possa chiamarla più tardi, quando necessario.

Per passare una funzione come callback, basta usare il nome della funzione come stringa:

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

function processUser($username, $callback) {
    // Esegui qualche elaborazione...
    $callback($username);  // Chiama la funzione di callback
}

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

In questo esempio, "greet" viene passato come callback a processUser(). La funzione processUser() chiama quindi il callback utilizzando la stringa come nome di una funzione.

I callback sono incredibilmente utili perché rendono le tue funzioni più flessibili. La stessa funzione può eseguire azioni diverse a seconda del callback che le passi. Questo concetto è fondamentale per molte funzioni integrate di PHP, come array_map() e array_filter(), che incontrerai più avanti in questo corso.

challenge icon

Sfida

Facile

Crea due funzioni: una chiamata formatUppercase che accetta una stringa e la restituisce in maiuscolo, e un'altra chiamata formatLowercase che accetta una stringa e la restituisce in minuscolo.

Poi crea una funzione chiamata applyFormat che accetta due parametri: una stringa di testo e il nome di una funzione di callback. Questa funzione deve applicare la callback al testo e restituire il risultato.

Riceverai due input: il tipo di operazione ("upper" o "lower") e il testo da formattare. Leggi entrambi gli input, determina quale callback usare in base al tipo di operazione, chiama applyFormat con la callback appropriata e stampa il risultato formattato.

Formato dell'input: Due righe: la prima riga contiene il tipo di operazione ("upper" o "lower"), la seconda riga contiene il testo da formattare

Output previsto: Il testo formattato in base al tipo di operazione

Provalo tu

<?php
// Leggi l'input
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));

// TODO: Scrivi il tuo codice qui sotto
// Crea la funzione formatUppercase
// Crea la funzione formatLowercase
// Crea la funzione applyFormat
// Determina quale callback usare in base al tipo di operazione
// Chiama applyFormat con il callback appropriato

// Mostra il risultato
echo $result;
?>
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore PHP online