- 问题一:
如果在穿透过程中,遇到异常,的确是终止执行,抛出异常。 - 问题二:
是最终由return $pipeline($this->passable)
返回响应的。并且 Laravel 的执行顺序是 Request 由外往里,在最里面获得 Response,再由里往外返回。 - 问题三:
以最上面和最里面的return $callable($passable)
为例。
关于 $slice
返回的内容,具体看父类 carry 方法有没有对 $slice
形参进行函数执行操作。如果进行了执行,那么结果如上图所示,如果没有执行,那么一路返回的是 包含 Response 的一个闭包函数,最终一定在外面进行了 Response 获取。