Menu
Coddy logo textTech

Funciones de flecha

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

Las funciones de flecha, introducidas en PHP 7.4, proporcionan una forma más concisa de escribir funciones anónimas simples. Utilizan la palabra clave fn en lugar de la sintaxis completa function, haciendo que tu código sea más corto y limpio.

Aquí tienes cómo crear una función de flecha:

<?php
$greeting = fn($name) => "Hello, " . $name . "!";
echo $greeting("Alice");  // Salida: Hello, Alice!
?>

Observe las diferencias clave: las funciones de flecha usan fn en lugar de function, tienen una flecha => que apunta a la expresión y no necesitan llaves ni una sentencia return para expresiones simples.

La mayor ventaja de las funciones de flecha es que capturan automáticamente las variables del ámbito superior; no se necesita la palabra clave use:

<?php
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob");  // Salida: Welcome, Bob!
?>

Las funciones de flecha son perfectas para operaciones cortas y simples donde la sintaxis tradicional de las funciones anónimas resulta demasiado verbosa.

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 una arrow function que tome el nombre de un producto como parámetro y devuelva una etiqueta de producto formateada. La arrow function debe capturar el nombre de una categoría del ámbito circundante.

Recibirás dos entradas: el nombre de la categoría y el nombre del producto. Lee ambas entradas, crea una arrow function que capture la categoría y formatee la etiqueta del producto como "[Category] Product", llama a la arrow function con el nombre del producto y muestra el resultado.

Formato de entrada: Dos líneas - la primera línea contiene el nombre de la categoría, la segunda línea contiene el nombre del producto

Salida esperada: La etiqueta del producto formateada en el formato "[Category] Product"

Hoja de referencia

Las funciones de flecha utilizan la palabra clave fn y proporcionan una sintaxis concisa para funciones anónimas simples:

$greeting = fn($name) => "Hello, " . $name . "!";

Características clave:

  • Usa fn en lugar de function
  • La flecha => apunta a la expresión
  • No se necesitan llaves ni la sentencia return para expresiones simples
  • Capturan automáticamente variables del ámbito padre sin la palabra clave use
$message = "Welcome";
$greeting = fn($name) => $message . ", " . $name . "!";
echo $greeting("Bob");  // Salida: Welcome, Bob!

Pruébalo tú mismo

<?php
// Leer la entrada
$category = trim(fgets(STDIN));
$product = trim(fgets(STDIN));

// TODO: Escribe tu código a continuación
// Crea una función de flecha que capture la categoría y formatee la etiqueta del producto


// Llama a la función de flecha y muestra 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