我刚开始使用匿名函数,即闭包,我遇到了一个问题。我正在使用闭包调用名为Project的类中的static函数,以在另一个名为Application中返回值。下面是我的问题的简化版本
class Project{
public function __construct(){
self::ProcessParams(function() {
return Application::return_param('1');
}, 'param2', 'param3');
}
}
public static function ProcessParams($param1, $param2, $param3){
var_dump($param1);
}
}
我的问题是ProcessParams函数中的var_dump()没有返回请求的值,而是将整个Project类插入$param1
object(闭包)#90(1){["this"]=>object(Project)#34(3){…..}
我做错了什么??
感谢
您需要调用闭包以检索其返回值:
var_dump($param1());
您可以从这里开始了解有关匿名函数的更多信息:http://php.net/manual/de/functions.anonymous.php