我只是告诉你代码:
我的功能如下:
function eachLang($callback){
global $langs;
foreach($langs as $ln=>$lnnm){
call_user_func($callback,$ln);
}
}
接下来我就是这样的:
$vf = new ValidFluent($_POST);
eachLang(function($ln){
$vf->name('title_'.$ln)->required()->maxSize(100);
});
如何轻松地将$vf
对象传递给回调函数?
我的意思是这种方式$vf
在回调中未定义
答案 0 :(得分:4)
在回调函数中使用use
来传递变量。在变量名称前添加&
以通过引用传递:
$vf = new ValidFluent($_POST);
eachLang(function($ln) use (&$vf) {
$vf->name('title_'.$ln)->required()->maxSize(100);
});
有关匿名函数和use
的更多信息,请点击此处:
http://php.net/manual/en/functions.anonymous.php