El otro día en la entrada cargando clases php automaticamente en el ultimo ejemplo usaba una función anomima o clausura para lanzar la función spl.
La definición que nos da la documentación es:
Las funciones anónimas, también conocidas como clausuras (closures), permiten la creación de funciones que no tienen un nombre especificado.Estas funciones fueron introducidas en PHP 5.3 y su uso es prácticamente igual que cuando definimos funciones en Javascript.
//Ejemplo de definición de función en Javascript var miFuncion = function (nombre) { document.write('Tu nombre es ' + nombre); }; miFuncion('Ruben'); // Escribe 'Tu nombre es Ruben'
// Ejemplo de definición de función anónima en PHP $miFuncion = function ($nombre) { echo 'Tu nombre es '. $nombre; } $miFuncion('Ruben'); //Escribe 'Tu nombre es Ruben'
Se puede ver en los dos ejemplos que el uso y definición de ambas es prácticamente igual. Otro de los usos para estas funciones es como callback en funciones tengan esa opción.
echo preg_replace_callback('~-([a-z])~', function ($coincidencia) { return strtoupper($coincidencia[1]); }, 'hola-mundo'); // Devuelve holaMundo
Para mas información sobre las funciones anónimas http://www.php.net/manual/es/functions.anonymous.php