Avatar ·

¿Qué es un closure en PHP y para qué sirve el operador use?

¡Hola a todos! Empecé a estudiar PHP y me topé con el tema de las funciones anónimas y los closures. Parece que entendí las funciones anónimas, pero cuando llegué a los closures, me tropecé con el operador `use`. Aquí está el código que vi en la documentación: ```php $message = "Hello, world!"; $greeting = function() use ($message) { echo $message; }; $greeting(); ``` Entiendo que esto funciona, pero no entiendo para qué sirve este `use`. ¿Por qué no puedo simplemente acceder a la variable `$message` dentro de la función, como en las funciones normales? Por ejemplo: ```php function test() { echo $message; // ¿Por qué esto no funciona? } ``` También leí que los closures pueden "capturar" variables del ámbito externo. ¿Qué significa eso? ¿Y para qué usar closures si puedo simplemente pasar la variable como argumento? Explíquenme, por favor, de manera sencilla qué es un closure en PHP y en qué casos realmente se necesita. Los ejemplos de código son bienvenidos. ¡Gracias de antemano! <<>>

¿Qué es un