加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

详解php 行使Callable Closure逼迫指定回调范例

发布时间:2021-03-22 20:39:04 所属栏目:编程 来源:网络整理
导读:详解php 行使Callable Closure逼迫指定回调范例 假如一个要领必要接管一个回调要领作为参数,我们可以这样写 function callback(){ echo 'do sth callback'; } testCallBack('callback'); ? 但我们不能确定回调要领是否可以挪用,因此必要做许多特另外事变去

详解php 行使Callable Closure逼迫指定回调范例

假如一个要领必要接管一个回调要领作为参数,我们可以这样写

function callback(){
echo 'do sth callback';
}

testCallBack('callback');
?>

但我们不能确定回调要领是否可以挪用,因此必要做许多特另外事变去搜查这个回调要领是否可以挪用。

有什么更好的要领可以判定回调要领是否可挪用?

我们可以行使callable来逼迫指定参数为回调范例,这样可以担保回调要领必需是可以挪用的。

function callback(){
echo 'do sth callback';
}

testCallBack('abc');
?>

执行后,提醒告诫:Warning: call_user_func() expects parameter 1 to be a valid callback,function ‘abc' not found or invalid function name 措施能执行到dosth内部的处理赏罚,这样就必要做许多特另外事变去搜查这个回调要领是否可以挪用。

function callback(){
echo 'do sth callback';
}

testCallBack('abc');
?>

执行后,提醒错误:TypeError: Argument 1 passed to testCallBack() must be callable 措施并不能执行到dosth内部的处理赏罚,从参数范例处就已经做了搜查处理赏罚,起到掩护浸染。

function testClosure(Closure $callback) {
return $callback();
}

$a = testClosure($f);
print_r($a); //100
exit;

因此,假如要领的参数是回调要领,都应加上callable逼迫指定为回调范例,这样可以镌汰挪用的错误和进步措施的质量。

若有疑问请留言可能到本站社区交换接头,感激阅读,但愿能辅佐到各人,感谢各人对本站的支持!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读