return 和 echo the view 有什么区别? return view 比 echo view 说话的时间更长

What is the difference between return or echo the view? return view is talking longer then echo view

加载视图的最佳做法是什么。

文档说在此处加载视图 https://laravel.com/docs/5.7/views

以下是我的代码:

 if (isset($results['status'])) {
           $error [] = $results['msg'];
           $request->session()->flash('message.level', 'danger');
           $request->session()->flash('message.content', $error);
 } else {
           if (view()->exists('import.device.results')) {
                  echo view('import.device.results', compact('results'));
                  exit;
           }
 }

当我使用

echo view('import.device.results', compact('results'));

它需要一秒钟,当我使用

return view('import.device.results', compact('results'));

大约需要 10 秒

我的查看文件:

@extends('layouts_blue.master')
@section('content')
    <!--content-->

    <script language="JavaScript">
    </script>
    <div class="container content-body table-responsive" id="no-more-tables1">

        @if(session()->has('message.level'))
            <div class="alert alert-{{ session('message.level') }} import-device-error">
                <ul class="fa-ul">
                    @foreach (session('message.content') as $error)
                        <li>{!! $error !!}</li>
                    @endforeach
                </ul>
            </div>
        @endif

    </div>
    </div>
@stop

Laravel 在收到控制器的响应后执行许多必要的操作。通过退出您的控制器,您将在其生命周期中间终止请求:

  • 可终止中间件不会是 运行。大多数框架中的中间件可以 运行 在请求发送到控制器之前和 从控制器收到响应之后 .
  • 终止回调(在application/container中注册)将不会被执行。
  • Session 可能无法持久化。根据所使用的 driver,session 数据可能不会保留到控制器 returns 响应之后。
  • 您的所有 cookie 和 headers 可能无法发送。
  • 响应不会自动转换为字符串或JSON。

return 如果从函数内部调用,return 语句立即结束当前函数的执行,returns 是被调用函数的值。将值传递给另一个函数或变量。

echo输出一个值一或多个

echo 打印值以便您阅读。

return returns 要保存在变量中的值。

在 laravel 中,您可以通过 return 将视图存储在变量中。

在中间件中 return 用于停止执行或传递给下一个函数

return 中,您可以 return 键入 Json 或对象或具有值的多个数组。