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