????之前就在看Composer那塊代碼的時候看到Closure::bind
的使用唆鸡,一直沒有太明白這個用法起到了什么作用壳澳。之前也有搜索這個方法,看到的文章都不太能明白。今天又翻閱了大量搜索結(jié)果看到一篇文章大概了解了
Closure::bind
public static Closure::bind ( Closure
$closure
, object$newthis
[, mixed$newscope
= 'static' ] ) : Closure
????這個方法是將閉包函數(shù)內(nèi)部$this
的作用域指向所傳對象幌衣,在閉包函數(shù)內(nèi)部通過$this
可以訪問到對象內(nèi)部的方法和屬性。而要訪問對象內(nèi)部的私有方法的話還需要傳第三個參數(shù)壤玫,值應該是類名(類名::class
)或者實例化的對象(new 類名()
)豁护。
bindTo
public Closure::bindTo ( object
$newthis
[, mixed$newscope
= 'static' ] ) : Closure
????這個方法功能類似于bind,但是它不是Closure類的靜態(tài)方法欲间。而是所有閉包函數(shù)的一個方法楚里。參數(shù)比bind少了第一個,后兩個一樣猎贴。