<?php

error_reporting(-1);

$a = 1;
$b = 2;

// создаем замыкание и в этот момент внешние переменные привязываются к функции
// $a передаем по значению $b по ссылке
$closure = function () use ($a, &$b) {
	echo "Внутри функции a = $a, b = $b\n";
};

// Проверим что видит функция
$closure();

// а что еcли поменять переменные?
$a = 100;
$b = 200;

$closure();

// А что если уничтожить их?
unset($a);
unset($b); // Эта команда уничтожает переменную $b, но поскольку в замыкании сохранена
// ссылка на нее, полностью она пока не уничтожена

$closure();
