$hooks = function($meta, $type) use ($inspector, $instance)
{
if (isset($meta[$type]))
{
$run = array();
foreach ($meta[$type] as $method)
{
$hookMeta = $inspector->getMethodMeta($method);
if (in_array($method, $run) && !empty($hookMeta["@once"]))
{
continue;
}
$instance->$method();
$run[] = $method;
}
}
};
$hooks($methodMeta, "@before");
这个hooks function里面有一个use是怎么回事?
想不通。望大师告知
5.3 新增的闭包语法中,use 用来捕捉变量到匿名函数内
匿名函数(Anonymous functions),也叫闭包函数(closures),允许 临时创建一个没有指定名称的函数。最经常用作回调函数(callback)参数的值。当然,也有其它应用的情况。
Example #1 匿名函数示例
<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
return strtoupper($match[1]);
}, 'hello-world');
// 输出 helloWorld
?>
闭包函数也可以作为变量的值来使用。PHP 会自动把此种表达式转换成内置类 Closure 的对象实例。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。