Анонимная функция - функция без имени, присваиваемая переменной. Замыкание - анонимная функция, захватывающая переменные из окружающей области видимости:
// Анонимная функция
$greet = function(string $name): string {
return "Hello, $name";
};
echo $greet('PHP'); // "Hello, PHP"
// Замыкание - захват через use
$prefix = 'Hello';
$greet = function(string $name) use ($prefix): string {
return "$prefix, $name";
};
// По ссылке
$counter = 0;
$inc = function() use (&$counter) { $counter++; };
$inc();
echo $counter; // 1Все анонимные функции в PHP - экземпляры класса Closure.