拉拉维尔返回响应::视图


Laravel return Response::view

我认为这个问题很简单。

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

例如:

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

在测试控制器准备工作()内部,如果条件匹配,我

return Response::view(...);

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

要使其正常工作,我必须:

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

这实际上不起作用,因为准备工作旨在完成一些繁重的工作,然后输出结果模型。 仅当出现错误时,才会启动视图。

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

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

我只是想理解为什么返回响应::view没有结束处理...如果这是有道理的。

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

如果您调用一个方法 (1),调用另一个方法 (2),调用

第三个方法 (3),则 Laravel 应用程序只有在您从 (1) 返回时才会收到视图。

这就是为什么当您添加最后一个返回时它起作用的原因。

您可以执行以下操作:

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

它有时可能有效,但

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

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