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);

 

 

 

 

二、內容在總結中

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM