【问题标题】:Laravel return Response::viewLaravel 返回 Response::view
【发布时间】:2013-09-24 19:40:34
【问题描述】:

简单的问题,我想。

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

例如:

$_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 没有结束处理......如果这有意义的话。

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

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

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

    这就是为什么当你添加最后一个 return 它起作用的原因。

    你可以做一些事情,比如:

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

    它有时会起作用,但是

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-12
      • 2016-10-01
      • 2013-05-28
      • 2018-05-31
      • 1970-01-01
      • 2022-12-05
      • 1970-01-01
      • 2014-03-09
      相关资源
      最近更新 更多