Laravel返回Response :: view

时间:2013-09-24 19:40:35

标签: php laravel laravel-4

简单的问题,我想。

我有一个调用控制器中的函数的路由。在那个控制器中,我调用了另一个控制器函数。

例如:

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

在TestingController prepwork()内部,如果条件匹配,我

return Response::view(...);

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

为了使其有效,我必须:

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

这不能真正起作用,因为预制作业旨在做一些繁重的工作,然后输出结果模型。视图仅在出现错误时启动。

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

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

我只是想了解为什么返回Response :: view不会结束处理......如果这样做有意义。

1 个答案:

答案 0 :(得分:1)

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

如果您调用方法(1),调用另一个方法(2),调用第三个方法(3),Laravel应用程序将仅在您从(1)返回时收到视图。

这就是为什么当你添加最后一次回归时它起作用了。

你可以做些事情,比如:

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

它有时可能有效,但

但这真的很糟糕,除非你只是测试,否则不要这样做!

因为Laravel将无法关闭所有内容并刷新所需内容,您可能会损害您的应用程序甚至服务器。