Avatar ·

O que é closure em PHP e para que serve o operador use?

Olá a todos! Comecei a estudar PHP e me deparei com o tema de funções anônimas e closures. Acho que entendi as funções anônimas, mas quando cheguei nas closures, tropecei no operador `use`. Aqui está o código que vi na documentação: ```php $message = "Hello, world!"; $greeting = function() use ($message) { echo $message; }; $greeting(); ``` Eu entendo que isso funciona, mas não entendo para que serve esse `use`. Por que não posso simplesmente acessar a variável `$message` dentro da função, como em funções normais? Por exemplo: ```php function test() { echo $message; // Por que isso não funciona? } ``` Também li que closures podem "capturar" variáveis do escopo externo. O que isso significa? E para que usar closures, se posso simplesmente passar a variável como argumento? Expliquem, por favor, de forma simples, o que é uma closure em PHP e em quais casos ela é realmente necessária. Exemplos de código são bem-vindos. Desde já, obrigado! <<>>

O que é