2011-10-25 17 views

Respuesta

8

use no es una función, es parte de Closure syntax. Simplemente hace que las variables especificadas del alcance exterior estén disponibles dentro del cierre.

$foo = 42; 

$bar = function() { 
    // can't access $foo in here 
    echo $foo; // undefined variable 
}; 

$baz = function() use ($foo) { 
    // $foo is made available in here by use() 
    echo $foo; // 42 
} 

Por ejemplo:

$array = array('foo', 'bar', 'baz'); 
$prefix = uniqid(); 

$array = array_map(function ($elem) use ($prefix) { 
    return $prefix . $elem; 
}, $array); 

// $array = array('4b3403665fea6foo', '4b3403665fea6bar', '4b3403665fea6baz'); 
3

Está diciendo a la función anónima que haga $connections (una variable padre) disponible en su alcance.

Sin él, $connections no estaría definido dentro de la función.

Documentation.

+0

Cabe señalar que '$ connections' no sería' null'; sería una variable indefinida si no se importó explícitamente en el alcance de la función anónima con 'use ($ connections)'. –

+0

@IanGustafson Gracias, actualizaré la respuesta. – alex

Cuestiones relacionadas