如何通过PHP的Closure实现匿名函数的创建及应用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1880个文字,预计阅读时间需要8分钟。
Closure 类用于表示匿名函数的类。在 PHP 5.3 中引入的匿名函数(也称为闭包)会产生这种类型的对象。在后续版本中,这个类被视为一个实现细节,但现在可以依赖它来完成一些特定的事情。从 PHP 5.4 开始,这个类可以依赖来完成一些特定的事情。
Closure 类
用于代表匿名函数的类。
匿名函数(在 PHP 5.3 中被引入)会产生这个类型的对象。在过去,这个类被认为是一个实现细节,但现在可以依赖它做一些事情。自 PHP 5.4 起,这个类带有一些方法,允许在匿名函数创建后对其进行更多的控制。
这个类不能实例化,里面主要有两个方法,都用来复制闭包,一个静态一个动态,下面分别详细讲解下这两个不好理解的方法。
Closure::bind
public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] ) 参数说明: closure 需要绑定的匿名函数。 newthis 需要绑定到匿名函数的对象,或者 NULL 创建未绑定的闭包。 newscope 想要绑定给闭包的类作用域,或者 'static' 表示不改变。如果传入一个对象,则使用这个对象的类型名。 类作用域用来决定在闭包中 $this 对象的 私有、保护方法 的可见性。
本文共计1880个文字,预计阅读时间需要8分钟。
Closure 类用于表示匿名函数的类。在 PHP 5.3 中引入的匿名函数(也称为闭包)会产生这种类型的对象。在后续版本中,这个类被视为一个实现细节,但现在可以依赖它来完成一些特定的事情。从 PHP 5.4 开始,这个类可以依赖来完成一些特定的事情。
Closure 类
用于代表匿名函数的类。
匿名函数(在 PHP 5.3 中被引入)会产生这个类型的对象。在过去,这个类被认为是一个实现细节,但现在可以依赖它做一些事情。自 PHP 5.4 起,这个类带有一些方法,允许在匿名函数创建后对其进行更多的控制。
这个类不能实例化,里面主要有两个方法,都用来复制闭包,一个静态一个动态,下面分别详细讲解下这两个不好理解的方法。
Closure::bind
public static Closure Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] ) 参数说明: closure 需要绑定的匿名函数。 newthis 需要绑定到匿名函数的对象,或者 NULL 创建未绑定的闭包。 newscope 想要绑定给闭包的类作用域,或者 'static' 表示不改变。如果传入一个对象,则使用这个对象的类型名。 类作用域用来决定在闭包中 $this 对象的 私有、保护方法 的可见性。

