Menu
Coddy logo textTech

Funciones callback

Parte de la sección Lógica y Flujo del Journey de PHP de Coddy — lección 4 de 68.

Una función callback es una función que se pasa como argumento a otra función. En lugar de llamar a la función inmediatamente, pasas su nombre para que la función receptora pueda llamarla más tarde cuando sea necesario.

Para pasar una función como callback, simplemente utiliza el nombre de la función como una cadena:

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

function processUser($username, $callback) {
    // Realizar algún procesamiento...
    $callback($username);  // Llamar a la función callback
}

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

En este ejemplo, "greet" se pasa como un callback a processUser(). La función processUser() luego llama al callback utilizando la cadena como nombre de función.

Los callbacks son increíblemente útiles porque hacen que tus funciones sean más flexibles. La misma función puede realizar diferentes acciones dependiendo de qué callback le pases. Este concepto es fundamental para muchas de las funciones integradas de PHP como array_map() and array_filter(), que encontrarás más adelante en este curso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

challenge icon

Desafío

Fácil

Crea dos funciones: una llamada formatUppercase que reciba una cadena y la devuelva en mayúsculas, y otra llamada formatLowercase que reciba una cadena y la devuelva en minúsculas.

Luego, crea una función llamada applyFormat que acepte dos parámetros: una cadena de texto y el nombre de una función callback. Esta función debe aplicar el callback al texto y devolver el resultado.

Recibirás dos entradas: el tipo de operación ("upper" o "lower") y el texto a formatear. Lee ambas entradas, determina qué callback usar basándote en el tipo de operación, llama a applyFormat con el callback apropiado e imprime el resultado formateado.

Formato de entrada: Dos líneas - la primera línea contiene el tipo de operación ("upper" o "lower"), la segunda línea contiene el texto a formatear

Resultado esperado: El texto formateado basado en el tipo de operación

Hoja de referencia

Una función de callback es una función que se pasa como argumento a otra función. En lugar de llamar a la función inmediatamente, pasas su nombre para que la función receptora pueda llamarla más tarde cuando sea necesario.

Para pasar una función como callback, utiliza el nombre de la función como una cadena:

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

function processUser($username, $callback) {
    // Realizar algún procesamiento...
    $callback($username);  // Llamar a la función de callback
}

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

Los callbacks hacen que las funciones sean más flexibles al permitir diferentes acciones dependiendo de qué callback se les pase.

Pruébalo tú mismo

<?php
// Leer la entrada
$operation = trim(fgets(STDIN));
$text = trim(fgets(STDIN));

// TODO: Escribe tu código a continuación
// Crear la función formatUppercase
// Crear la función formatLowercase
// Crear la función applyFormat
// Determinar qué callback usar según el tipo de operación
// Llamar a applyFormat con el callback apropiado

// Imprimir el resultado
echo $result;
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Lógica y Flujo