Функция PHP use () для области видимости?

Я видел такой код:

function($cfg) use ($connections) {} 

но php.net, похоже, не упоминает эту функцию. Я предполагаю, что это связано с областью, но как?

use не является функцией, это часть синтаксиса Closure . Он просто делает указанные переменные внешней области доступными внутри закрытия.

 $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 } 

Например:

 $array = array('foo', 'bar', 'baz'); $prefix = uniqid(); $array = array_map(function ($elem) use ($prefix) { return $prefix . $elem; }, $array); // $array = array('4b3403665fea6foo', '4b3403665fea6bar', '4b3403665fea6baz'); 

Он сообщает анонимной функции, чтобы сделать $connections ( родительскую переменную) доступной в своей области.

Без него в функции не будут определены $connections .

Документация .