php symfony中的use关键字是什么?

时间:2013-10-08 04:05:03

标签: php symfony

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

任何人都可以向我解释这个功能在做什么。我无法知道如何定义这个变量

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

use在那里做什么?

2 个答案:

答案 0 :(得分:0)

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

<?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
?>

答案 1 :(得分:0)

此:

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