我刚开始使用Anonymous功能,即Closures,我遇到了一个问题。我正在使用Closure在名为Project 的类中调用静态函数,以在另一个名为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
对象(关闭)#90(1){[" this"] =>对象(项目)#34(3){.....}
我做错了什么?
由于
答案 0 :(得分:3)
你需要调用闭包才能检索它的返回值:
var_dump($param1());
您可以从这里开始了解有关匿名函数的更多信息:http://php.net/manual/de/functions.anonymous.php