zoukankan      html  css  js  c++  java
  • 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);

    二、内容在总结中

     
  • 相关阅读:
    Java实现 蓝桥杯VIP 算法提高 交换Easy
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法提高 多项式输出
    Java实现 蓝桥杯VIP 算法训练 矩阵乘方
    QT中给各控件增加背景图片(可缩放可旋转)的几种方法
    回调函数实现类似QT中信号机制
    std::string的Copy-on-Write:不如想象中美好(VC不使用这种方式,而使用对小字符串更友好的SSO实现)
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/10850430.html
Copyright © 2011-2022 走看看