2013-09-24 93 views
0

简单的问题,我认为。Laravel返回回应::查看

我有一个路由在控制器中调用一个函数。在该控制器中,我有一个到另一个控制器功能的调用。

例如:

$_testing = with(new TestingController)->prepwork($variable1,$variable2); 

内TestingController prepwork()的,如果条件满足,我

return Response::view(...); 

问题 - 怎么来的,是不是还不够吗?返回只是将控制返回给调用函数(这是有道理的),但我怎么告诉Laravel - 停止你正在做的事情并输出该视图。

为了使它的工作,我必须:

$_testing = with(new TestingController)->prepwork($variable1,$variable2); 
return $_testing; 

,由于prepwork的目的是做一些繁重的,然后将结果输出模式并没有真正的工作。该视图仅在出现错误时才会启动。

是的 - 我知道我可以做这样的事情:

if ($_testing->whatImCheckingForErrors) { return Response::view(...); } 

我只是想了解,为什么得到的回答::视图不会结束处理......如果这是有道理的。

回答

1

只有最后一次返回才会结束处理,因为应用程序将收到最后一次返回并呈现您在其中发送的任何内容。

如果你调用一个方法(1),调用另一个方法(2),调用第三个(3),Laravel应用程序将收到查看,只有当你的回报,从背部(1)。

这就是为什么当你添加最后一次返回它的工作。

有很多事情可以做,比如:

echo Response::view(...); 
die; 

它有时工作,但

但这的确是不好,不这样做,除非你只是测试的东西!

由于Laravel将无法关闭一切,冲洗需要的地方,你可能会危及你的应用程序,甚至服务器。