1 回答

pardon110
TA貢獻1038條經驗 獲得超227個贊
$d是一個匿名函數作為變量的值,$d()為執行匿名函數,得到外部類Bim實例,
$d()->doSomething(),執行Bim實例的doSomething方法,所以可行。
$c是Container的實例
$c->bim 實例屬性指向的是一個匿名函數形成的閉包(匿名函數目前是通過Closure 類來實現的),PHP 會自動把此種表達式轉換成內置類 Closure 的對象實例,很顯然Closue類(php內置類)是沒有doSomething方法
$c->bim()? 很顯然執行類container的bim方法,顯然該類沒有此方法,所以$c->bim()->doSomething()不可行,因為他走到$c->bim()就報致命錯了。
- 1 回答
- 4 關注
- 1208 瀏覽
添加回答
舉報
0/150
提交
取消