• laravel基础课程---8、laravel响应和视图(响应是什么)


    laravel基础课程---8、laravel响应和视图(响应是什么)

    一、总结

    一句话总结:

    就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类型的响应,并发送回用户的浏览器。

    所有的路由及控制器必须返回某个类型的响应,并发送回用户的浏览器。Laravel 提供了几种不同的方法来返回响应。最基本的响应就是从路由或控制器简单的返回一个字符串。指定的字符串会被框架自动转换成 HTTP 响应:

    Route::get('/', function () {
        return 'Hello World';
    });

    从路由和控制器不仅可以返回字符串,也可以直接返回数组,这个数组将会被自动转换为 JSON 响应:

    Route::get('/', function () {
        return [1, 2, 3];
    });

    1、如果laravel响应是数组的话,显示给用户的是什么?

    json:直接会转换程json

    2、laravel响应向页面分配数据?

    with():return view('xiang')->with($data);
    return view('xiang');
    $arr=array('name'=>'小镊子','love'=>"小猫咪");
    $arr1=array('name'=>'小镊子1','love'=>"小猫咪1");
    $arr2=array('name'=>'小镊子2','love'=>"小猫咪2");
    $arr3=array('name'=>'小镊子3','love'=>"小猫咪3");
    
    
    $data=array(
        'brr'=>$arr,
        'brr1'=>$arr1,
        'brr2'=>$arr2,
        'brr3'=>$arr3,
        );
    return view('xiang')->with(['name'=>'小镊子','love'=>"小猫咪"]);
    return view('xiang')->with($data);

    3、laravel如何重定向?

    redirect():return redirect('home/dashboard');
    Route::get('dashboard', function () {
        return redirect('home/dashboard');
    });

    4、laravel如何响应json数据?

    json():return response()->json(['name'=>'小镊子','love'=>"小猫咪"]);

    5、laravel如何文件下载?

    download方法:return response()->download($pathToFile, $name, $headers);
    1 return response()->download('./Uploads/q.png');
    2 
    3 #会报错
    4 #需要打开php.ini 开启扩展 extension=php_fileinfo.dll
    5 #重启服务

    download 方法可以用于生成强制让用户的浏览器下载指定路径文件的响应。download 方法接受文件名称作为方法的第二个参数,此名称为用户下载文件时看见的文件名称。最后,你可以传递一个 HTTP 标头的数组作为第三个参数传入该方法:

    return response()->download($pathToFile);
    
    return response()->download($pathToFile, $name, $headers);

    注意:管理文件下载的扩展包 Symfony HttpFoundation,要求下载文件必须是 ASCII 文件名。

    6、lavarel响应中的文件下载报错怎么办?

    需要打开php.ini 开启扩展 extension=php_fileinfo.dll
    1 return response()->download('./Uploads/q.png');
    2 
    3 #会报错
    4 #需要打开php.ini 开启扩展 extension=php_fileinfo.dll
    5 #重启服务

    7、lavarel响应如何查看文件中的内容?

    file方法:return response()->file('./Uploads/q.png');

    8、laravel视图是什么?

    其实就是HTML页面,把控制器中分配的数据进行处理和展示

    视图的用途是用来存放应用程序中 HTML 内容,并且能够将你的控制器层(或应用逻辑层)与展现层分开。视图文件目录为 resources/views ,示例视图如下:

    <!-- 此视图文件位置:resources/views/greeting.php -->
    
    <html>
        <body>
            <h1>Hello, {{ $name }}</h1>
        </body>
    </html>

    9、thinkphp基础路由视图和lavarel的区别?

    lavarel中是你必须制定路由,tp中是自动给你生成路由(比如DoQuestion生成do_question的路由)

    10、lavarel视图中最基础语法?

    可以直接php(不推荐)<?php echo $meinv;?>
    模板语法(推荐):{{}} 是定界符:{{$meinv}}
    <!-- 可以直接使用PHP代码 但是不建议大家使用 -->
    <?php 
    
        echo $meinv;
    ?>
    
    {{$meinv}}

    11、laravel模板解析的原理是什么?

    类似smarty:替换技术(正则匹配)
    smarty
    模板解析的原理
    
    {{$meinv}}  通过一些替换技术(正则匹配) 最终替换程  <?php echo $meinv;?>

    12、lavarel如何向视图分配多个数据?

    可直接view()带数据:return view('shitu',$data);
    with():return view('shitu')->with($data);
    return view('shitu')->with('name',$name)->with('qiangge',$qiangge);
    return view('shitu')->with(['name'=>$name,'shuaige'=>$qiangge]);
    
    $data=array(
      // 名字   
      "name"=>$name,
    
      // 帅哥
      "shuaige"=>$qiangge
    
      );
    return view('shitu',$data);
    // return view('shitu')->with($data);

    二、内容在总结中

     
  • 相关阅读:
    rxjs 学习实践笔记
    封装localStorage、sessionStorage设置,获取,移除方法
    Angular实现类似vuex状态管理功能、全局数据管理与同步更新
    关于RxJS 处理多个Http请求 串行与并行方法
    vue插件汇总
    vue使用videojs控制后台m3u8数据请求
    NPOI winform读取Excel
    //邮件发送:
    定时任务框架Quartz.net
    系统日志控件 Log4NET
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10850430.html
Copyright © 2020-2023  润新知