No, no se pasan por referencia - el use
sigue una notación similar como parámetros de la función. Puede validar que por su cuenta con la ayuda de la función debug_zval_dump
(Demo):
<?php
header('Content-Type: text/plain;');
function bar(&$var)
{
$foo = function() use ($var)
{
debug_zval_dump($var);
$var++;
};
$foo();
};
$my_var = 0;
bar($my_var);
echo $my_var;
Salida:
long(0) refcount(3)
0
A-mediante el pleno-all-ámbitos de trabajo de referencia tendría un refcount de 1. como está escrito a lograr que al definir el uso como el paso por referencia:
$foo = function() use (&$var)
también es posible crear la repetición de esta manera:
$func = NULL;
$func = function() use (&$func) {
$func();
}
no, no será modificado .. Esto se explica en el manual –