pardon110
$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()就报致命错了。