PHP5.4新增的Closure类的方法

2020-04-17  本文已影响0人  phpdeveloper

    之前就在看Composer那块代码的时候看到Closure::bind的使用,一直没有太明白这个用法起到了什么作用。之前也有搜索这个方法,看到的文章都不太能明白。今天又翻阅了大量搜索结果看到一篇文章大概了解了


Closure::bind

public static Closure::bind ( Closure $closure , object $newthis [, mixed $newscope = 'static' ] ) : Closure

    这个方法是将闭包函数内部$this的作用域指向所传对象,在闭包函数内部通过$this可以访问到对象内部的方法和属性。而要访问对象内部的私有方法的话还需要传第三个参数,值应该是类名(类名::class)或者实例化的对象(new 类名())。

bindTo

public Closure::bindTo ( object $newthis [, mixed $newscope = 'static' ] ) : Closure

    这个方法功能类似于bind,但是它不是Closure类的静态方法。而是所有闭包函数的一个方法。参数比bind少了第一个,后两个一样。

参考文章 PHP Closure创建匿名函数

上一篇下一篇

猜你喜欢

热点阅读