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

Inicio / Cómo hacer para... / 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

CEO at Leeway
Mauro es Lic. en Ciencias de la Computación.
Su carrera como docente de programación se inició en el año 1997 en la Escuela Técnica ORT.
Actualmente coordina el desarrollo de proyectos web en Leeway y los cursos dictados en la Leeway Academy

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *