PHP Symfony中的use关键字是什么


what is the use keyword in php symfony

我是PHP的新手。我正在尝试阅读 Symfony 2 app 中的代码,但我无法理解这个函数是什么。

任何人都可以向我解释一下这个函数在做什么。我无法理解这个变量是如何定义的

$def = function($name, $class, $args=[]) use ($container){
   return $container->doStuff($name, $class);
};

use在那里做什么?

这个:

$def=function($name, $class, $args=[]) use ($container){
   return $container->doStuff($name, $class);
};

大致相同:

$def = my_function($container, $name, $class);
function my_function($container, $name, $class, $args=[]) {
  return $container->doStuff($name, $class);
}

使用以这种方式使用的关键字

<?php
namespace foo;
use My'Full'Classname as Another;
// this is the same as use My'Full'NSname as NSname
use My'Full'NSname;
// importing a global class
use ArrayObject;
$obj = new namespace'Another; // instantiates object of class foo'Another
$obj = new Another; // instantiates object of class My'Full'Classname
NSname'subns'func(); // calls function My'Full'NSname'subns'func
$a = new ArrayObject(array(1)); // instantiates object of class ArrayObject
// without the "use ArrayObject" we would instantiate an object of class foo'ArrayObject
?>