Cómo se usan las funciones anónimas en PHP

Las funciones anónimas son, como te habrás imaginado, funciones que no tienen un nombre.

Esto puede sonar bastante raro, siendo que seguramente cuando aprendiste qué es y cómo se define una función en PHP te dijeron que era algo con la pinta:

function f( $param1, $param2 )
{
    // Algo de código
}

Pues te mintieron.

Bueno, no, en realidad no te mintieron pero te dieron una versión parcial de la verdad.

Lo que quiero decir es que generalmente las cosas son así como las conoces, pero existen otras posibilidades.

Te presento la función anónima:

$f = function( $param1, $param2 ) {
    return $param1 + $param2;
}

En este ejemplo estoy asignando a la variable $f la función que estoy definiendo (¡No el resultado de su evaluación! No te confundas).

Y ¿por qué querrías hacer una cosa semejante? (Además de molestar a tus compañeros de trabajo o tratar de sacar un poco de chapa).

Sucede que muchas veces la función que estás definiendo tiene un uso extremadamente puntual (Es decir, no va a ser reutilizada) y es más conveniente entonces definirla en el mismo lugar donde se usa (Además de dejar el código más claro).

Es muy común usar las funciones anónimas en combinación con los callbacks, por ejemplo, si usás la función array_map, es más directo usar una función anónima para expresar la transformación que necesitás realizar. Ejemplo:

$simples = [ 1, 2, 3, 4, 5 ];
$dobles = array_map( function( $a ) { return $a * 2; }, $simples );

También podés usar funciones anónimas en llamadas a funciones que vos mismo hayas definido (Siempre y cuando estén preparadas para recibir este tipo de parámetros).

¿Te parece más claro escribir de esta forma o usando funciones con nombre?

mchojrin

Por mchojrin

Ayudo a desarrolladores PHP a acceder mercados y clientes más sofisticados y exigentes

1 comentario

¿Te quedó alguna duda? Publica aca tu pregunta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.